调用Webpack中的多个入口点
Invoke multiple entry points in Webpack
我正在使用带有typescript和babel的webpack来管理我的客户端web应用程序。
我想要一个用于第三方脚本的vendor.js
文件,一个main.js
文件,以及可以根据需要加载的每页脚本,以提供页面的特定功能。
所有的脚本都在按照我的预期进行编译,但实际上只有vendor.js
文件被调用。其他的被编译,但从未被调用。
下面是我的webpack.config.js
文件。
'use strict';
let webpack = require('webpack');
module.exports = {
entry: {
main: './assets/js/main.ts',
"single-page": './assets/js/src/new-loan.ts',
vendor: [
"svg4everybody"
]
},
output: {
filename: './public/assets/js/[name].js'
},
resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.js']
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: "vendor",
minChunks: Infinity
})
],
module: {
loaders: [{
test: /'.ts(x?)$/,
loader: 'babel-loader!ts-loader',
exclude: /node_modules/
}]
}
}
以及一个页面特定文件的示例。理想情况下,加载时,该文件将在页面上触发alert
通知。
webpackJsonp([1],[
/* 0 */
/***/ function(module, exports) {
'use strict';
alert('test');
/***/ }
]);
我可以看到/为什么/警报没有触发(模块功能从未被调用),但我不知道如何配置webpack以使其按我希望的方式工作。
谢谢你的帮助。
我发现CommonsChunkPlugin
正在覆盖您的配置中的vendor
捆绑包。尝试将CommonsChunkPlugin
的名称从vendor
更改为common
,并在所有文件中包含common
捆绑包,然后再包含其他捆绑包。如果使用CommonsChunkPlugin
,则只有公共捆绑包将包含核心的webpack模块加载程序助手函数,因此它必须嵌入到每个页面中。
new webpack.optimize.CommonsChunkPlugin({
name: "common",
minChunks: Infinity
})
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- Webpack开发服务器和React服务器端渲染
- 让Webpack管理Quirky AMD定义的最佳方式
- 什么'在webpack外部设置中,reactDom和reactDom不同
- 调用Webpack中的多个入口点
- 如何使用具有多个入口点的 Webpack 和 Gulp 来转译应用程序和测试目录
- WebPack:多个入口点,没有额外的块
- CommonsChunkPlugin 中的 webpack 错误:在正常模式下运行时,不允许使用非入口块
- 让目录中的所有文件都成为 webpack 中的入口点的最佳方法
- 具有独立入口点的webpack可重复使用模块
- Webpack多个入口点混淆
- 在webpack中,如何为多个入口点设置不同的输出目录?
- Webpack.是否可以进行依赖于入口点的导入?
- 如何使用webpack将入口模块中的变量公开为全局变量
- Webpack从多个入口文件导出类
- 在Webpack中排序多个入口点
- 如何使用webpack在项目中设置多个文件入口和输出
- 使用webpack-dev-server将javascript入口点注入到html文件中
- 不同路径/名称的Webpack多入口点