Webpack 为不同的js条目打包不同的加载程序
您可以使用不同的加载程序集加载辅助条目吗 例如,我正在尝试为脱机缓存创建一个服务工作者。我已排除包含服务人员的文件夹,并将其包含在另一个文件夹中。没有对service-worker.js的调用(它只是手动加载到static index.html中)。服务人员的入口点是选择React和hot loader,而不是仅仅通过Babel。以下是我的配置的主要部分Webpack 为不同的js条目打包不同的加载程序,webpack,Webpack,您可以使用不同的加载程序集加载辅助条目吗 例如,我正在尝试为脱机缓存创建一个服务工作者。我已排除包含服务人员的文件夹,并将其包含在另一个文件夹中。没有对service-worker.js的调用(它只是手动加载到static index.html中)。服务人员的入口点是选择React和hot loader,而不是仅仅通过Babel。以下是我的配置的主要部分 entry: { app: "app.js", 'service-worker': 'persistence/servic
entry: {
app: "app.js",
'service-worker': 'persistence/service-worker.js'
},
module: {
loaders:[{
test: /\.js|\.jsx/,
loaders: ["react-hot", "jsx?harmony", "babel"],
exclude: /persistence/
}, {
test: /service\-worker\.js/,
loaders: ["babel"],
include: /persistence/
}]
我决定使用文件加载器(使用babel加载器预处理js文件)。它在热加载程序和我的生产Docker/Node环境中工作
loaders: {
{
test: /\.(js|jsx)$/,
include: [/src/,/bower_components/],
exclude: [/persistence/],
loader: 'jsx?harmony!babel'
}, {
test: /\.js$/,
include: [/persistence/],
loader: 'file?name=[name].[ext]!babel'
},
...
},
此配置将文件夹从普通JS文件中排除,并将服务人员文件单独复制到站点的根目录中。看起来您可以在入口点中使用内联加载程序语法来实现此功能(在Webpack 4.42.1中测试) 以下
webpack.config.js
将raw loader
应用于script.js
的script\u raw
入口点,但不适用于script\u plain
入口点
var path=require('path');
module.exports={
模式:"发展",,
条目:{
'script_raw':'raw loader!。/script.js',
“script_plain”:“./script.js”,
},
输出:{
路径:'/app/out',
文件名:'[name].js'
}
};
对于您的情况,这将很快变得非常笨拙,但也可能成为做其他有趣事情的基础。我不明白为什么这样的事情不起作用。您在安装过程中是否遇到了一些特殊问题?service worker条目包含所有javsscript软件包,并且不包括persistence文件夹中的1文件。最安全的方法可能是为您的service worker定义一个单独的配置。这对我来说似乎是最干净的解决方案。我遇到同样的情况,你的解决方案有效!只需检查入口和加载器是否完全匹配