包裹 Google Chrome 扩展的多个入口点
Parcel multiple entry points for Google Chrome extension
我正在创建一个新的 Chrome 扩展。我引入了用于模块捆绑和 TypeScript 支持的 Parcel bundler。
我要建造
/src
/background-script
index.ts
/browser-action
index.html
index.ts
/content-script
index.ts
进入
/dist
/background-script
index.js
/browser-action
index.html
index.js
/content-script
index.js
/src/index.html
在同一目录中导入 index.ts
parcel watch src/background-script/index.ts src/content-script/index.ts src/browser-action/index.html --no-hmr --out-dir dist --public-url .
这将产生以下输出:
/dist
/background-script
index.js
/browser-action
index.html
/content-script
index.js
browser-action.***.js
尝试在 package.json 中使用类似的东西:
"build": "parcel build ./src/**/main.js ./src/**/main.scss --out-dir build --no-content-hash --no-source-maps",
需要的时间如下:
/src
/project1
/components
utils.js
constants.js
main.js
/project2
main.js
在项目 1 中 main.js 正在导入 utils.js 和 constants.js 并做一些其他事情。然后构建命令运行,它会缩小,polyfill,转译到 /build 文件夹中的 main.js 文件。
并将生成如下文件夹结构:
/build
/project1
main.js
/project2
main.js
好消息!地块 2 有一个 transformer for WebExtensions:
.parcelrc
文件:
{
"extends": "@parcel/config-webextension"
}
安装命令:
npm install parcel @parcel/config-webextension@next
构建命令:
parcel build manifest.json
✨ Built in 1.18s
它将获取 manifest.json
中提到的所有文件以及一些其他文件,例如 _locales
下的文件
我正在创建一个新的 Chrome 扩展。我引入了用于模块捆绑和 TypeScript 支持的 Parcel bundler。
我要建造
/src
/background-script
index.ts
/browser-action
index.html
index.ts
/content-script
index.ts
进入
/dist
/background-script
index.js
/browser-action
index.html
index.js
/content-script
index.js
/src/index.html
在同一目录中导入 index.ts
parcel watch src/background-script/index.ts src/content-script/index.ts src/browser-action/index.html --no-hmr --out-dir dist --public-url .
这将产生以下输出:
/dist
/background-script
index.js
/browser-action
index.html
/content-script
index.js
browser-action.***.js
尝试在 package.json 中使用类似的东西:
"build": "parcel build ./src/**/main.js ./src/**/main.scss --out-dir build --no-content-hash --no-source-maps",
需要的时间如下:
/src
/project1
/components
utils.js
constants.js
main.js
/project2
main.js
在项目 1 中 main.js 正在导入 utils.js 和 constants.js 并做一些其他事情。然后构建命令运行,它会缩小,polyfill,转译到 /build 文件夹中的 main.js 文件。
并将生成如下文件夹结构:
/build
/project1
main.js
/project2
main.js
好消息!地块 2 有一个 transformer for WebExtensions:
.parcelrc
文件:
{
"extends": "@parcel/config-webextension"
}
安装命令:
npm install parcel @parcel/config-webextension@next
构建命令:
parcel build manifest.json
✨ Built in 1.18s
它将获取 manifest.json
中提到的所有文件以及一些其他文件,例如 _locales