parcel-plugin-gas插件:打包与Google Apps Script兼容的Parcel新方案

需积分: 5 0 下载量 55 浏览量 更新于2024-11-30 收藏 99KB ZIP 举报
资源摘要信息:"parcel-plugin-gas::cyclone:启用Google App脚本捆绑功能的Parcel插件" 一、 Parcel打包工具概念 Parcel是一个快速、零配置的Web应用程序打包器,它提供了开箱即用的热模块替换、代码分割等功能,其主要特点包括自动安装依赖、多页面应用支持、易于使用的API以及支持多种文件类型。Parcel v1版本中的插件可以针对特定的运行环境和要求进行调整,从而更好地服务开发者的需求。 二、Google App Script运行环境 Google App Script(GAS)是基于JavaScript的云端脚本平台,它允许用户通过脚本语言扩展Google应用程序的功能。Google App Script运行在Google的云端环境,它为开发者提供了一系列的API以便与Google服务交互,比如Google文档、表格、邮箱等。 三、Parcel插件gas::cyclone的功能与作用 1. 插件功能:该插件针对Parcel v1版本进行了优化,用于使***l打包后的JavaScript代码能够兼容Google App Script的运行环境。 2. 解决问题:在没有该插件的情况下,通过Parcel打包后的代码可能不兼容Google App Script,因为默认情况下,Parcel在构建过程中会对代码进行压缩和优化,这会导致一些方法和函数名被缩短,而这与Google App Script运行时对于特定方法名(如onInstall)的全局可访问性要求相冲突。 3. 插件解决方案:通过插件的适配和修改,Parcel捆绑包在构建过程中会考虑Google App Script的兼容性需求,从而允许打包后的代码在GAS环境中正常运行。 四、插件安装与使用 1. 安装方式:通过npm命令安装,使用npm i parcel-plugin-gas -D指令将插件安装为项目开发依赖。 2. 使用方式:在项目开发中,当需要将代码打包部署到Google App Script时,开发者应使用该插件,并在构建命令中启用相应的配置,以确保代码的兼容性。 五、Parcel插件gas::cyclone的局限与更新 1. 插件版本局限:文档提及当前是针对Parcel v1版本的插件,而Parcel已发布新版本,开发者需注意版本兼容问题。 2. 插件的未来展望:文档提到第二版本的插件正在开发中,可能会有更多功能和改进,为开发者提供更好的支持。 六、相关标签说明 - JavaScript:Parcel插件gas::cyclone主要服务于JavaScript代码,是JavaScript开发者在打包过程中需要关注的。 - Web:作为Web应用打包工具,Parcel主要服务于Web前端开发。 - Parcel:Parcel打包工具的介绍及其插件生态。 - Google-apps-script:针对Google App Script运行环境进行适配的插件介绍。 - Bundle-adjustment:关注的是对打包后的文件进行调整,以确保其在特定环境下的运行。 - JavaScript:重复,但强调JavaScript开发者在使用该插件时的重要性。 七、压缩包子文件的文件名称列表 - parcel-plugin-gas-master:作为插件源代码或安装包的一部分,通常包含了插件的核心功能实现以及相关的配置信息。 通过上述内容的解析,开发者可以清晰地了解Parcel插件gas::cyclone的功能、安装、使用方法以及适用场景。这对于希望将Parcel构建的JavaScript应用部署到Google App Script环境的开发者来说,具有非常重要的参考价值。

安卓APP访问CAN有如下报错05-16 18:09:54.015 8022 8022 D can_test: nCanFd = 67 05-16 18:09:54.015 8022 8022 D can_test: Send can_id 05-16 18:09:54.013 8022 8022 I com.bin.cantest: type=1400 audit(0.0:444): avc: denied { ioctl } for path="socket:[114169]" dev="sockfs" ino=114169 ioctlcmd=0x8933 scontext=u:r:system_app:s0 tcontext=u:r:system_app:s0 tclass=can_socket permissive=1 05-16 18:09:54.015 8022 8022 D can_test: Send Error frame[0] 05-16 18:09:54.013 8022 8022 I com.bin.cantest: type=1400 audit(0.0:445): avc: denied { bind } for scontext=u:r:system_app:s0 tcontext=u:r:system_app:s0 tclass=can_socket permissive=1 05-16 18:09:54.013 8022 8022 I com.bin.cantest: type=1400 audit(0.0:446): avc: denied { write } for path="socket:[114169]" dev="sockfs" ino=114169 scontext=u:r:system_app:s0 tcontext=u:r:system_app:s0 tclass=can_socket permissive=1 05-16 18:09:54.020 0 0 W audit : audit_lost=15 audit_rate_limit=5 audit_backlog_limit=64 05-16 18:09:54.020 0 0 E audit : rate limit exceeded 05-16 18:09:54.060 305 388 W APM::AudioPolicyEngine: getDevicesForStrategy() unknown strategy: -1 05-16 18:09:54.060 459 477 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4 05-16 18:09:54.150 459 1215 E TaskPersister: File error accessing recents directory (directory doesn't exist?). 05-16 18:09:56.930 274 401 D AudioHardwareTiny: do_out_standby,out = 0xea043b70,device = 0x2 05-16 18:09:56.932 274 401 D alsa_route: route_set_controls() set route 24 05-16 18:09:56.941 274 401 D AudioHardwareTiny: close device 05-16 18:09:56.943 459 477 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4 05-16 18:10:00.010 620 620 D KeyguardClockSwitch: Updating clock:

2023-06-13 上传