强制 Snowpack 构建到一个文件中
Posted
技术标签:
【中文标题】强制 Snowpack 构建到一个文件中【英文标题】:Forcing Snowpack to build into one file 【发布时间】:2021-04-07 10:02:20 【问题描述】:Snowpack 开发非常酷 - 但为了我的需要,我需要所有 js/css/images
完全打包到 一个 bundle.js
文件中。没有块或其他任何东西。
我尝试在snowpack.config.js
's 中使用以下 webpack 插件配置
plugins
:
[
"@snowpack/plugin-webpack",
outputPattern:
js: "bundle.js",
css: "bundle.css",
,
extendConfig: (config) =>
delete config.optimization.splitChunks;
delete config.optimization.runtimeChunk;
return config;
,
,
],
这会导致创建这两个文件:bundle.js
和 bundle.css
有没有简单的方法:
-
只将所有内容打包到
build.js
中而不包含 css 文件?
自动删除仍然留在构建中的所有其他文件
文件夹(__snowpack__
、web_modules
、源文件)?
【问题讨论】:
【参考方案1】:修改snowpack.config.js
如下:
const path = require('path');
module.exports =
...
[
'@snowpack/plugin-webpack',
outputPattern:
js: "index.js",
css: "index.css",
,
extendConfig: config =>
delete config.optimization.splitChunks;
delete config.optimization.runtimeChunk;
config.module.rules[0] =
test: /\.js$/,
exclude: /node_modules/,
use: [
loader: 'babel-loader',
options: presets: ['@babel/preset-env']
,
loader: path.resolve(__dirname, './node_modules/@snowpack/plugin-webpack/plugins/import-meta-fix.js')
]
return config;
],
...
npm run build
的输出:
> build
> snowpack build
[snowpack] ! building source files...
[snowpack] ✔ build complete [0.39s]
[snowpack] ! building dependencies...
[snowpack] ✔ dependencies ready! [0.27s]
[snowpack] ! verifying build...
[snowpack] ✔ verification complete [0.00s]
[snowpack] ! writing build to disk...
[snowpack] ! optimizing build...
Asset Size Chunks Chunk Names
index.js 9.88 KiB 0 [emitted] index
[snowpack] ✔ optimize complete [1.47s]
[snowpack] ▶ Build Complete!
【讨论】:
以上是关于强制 Snowpack 构建到一个文件中的主要内容,如果未能解决你的问题,请参考以下文章
聊聊 ESMBundle Bundleless Vite Snowpack
深度分析前端构建工具:Vite2 v.s Snowpack3 v.s. Webpack5