可以webpack为浏览器和节点输出单独的脚本和模块文件
can webpack output separate script and module files for browser and node?
我使用webpack制作一个可以由浏览器加载的JavaScript对象(在脚本标签中),但我也希望webpack制作一个可以由节点加载的模块(需要module.exports =
)。
是否有办法让webpack制作两个文件;例如:a project.js
和project.node.js
?还是我走错路了?
D3 JavaScript库似乎正在做这样的事情基于它的package.json
{
"main": "build/d3.node.js",
"browser": "build/d3.js",
...
}
我发现了如何让webpack在这里制作多个文件-基本上只是导出一个对象数组,而不仅仅是一个在webpack.config.js
。
下面是webpack.config.js
,我使用相同的入口点main.js
制作多个文件。
module.exports = [
{
entry: './src/main.js',
output: {
path: __dirname,
filename: 'my_project.js',
libraryTarget: 'var',
library: 'my_project'
},
...
},
{
entry: './src/main.js',
output: {
path: __dirname,
filename: 'my_project.node.js',
libraryTarget: 'commonjs2',
library: 'my_project'
}
...
];
我正在制作两个文件:1)my_project.js
与libraryTarget
设置为var
,以便它可以由浏览器使用脚本标签加载,2)my_project.node.js
与libraryTarget
设置为commonjs2
,以便节点可以加载它。
我把my_project.node.js
放在package.json
的main
下面,这样webpack就会加载它——见下面:
{
"name": "my_project",
"version": "1.0.0",
"description": "something ...",
"main": "my_project.node.js",
...
}
相关文章:
- 在BoilerplateJS浏览器加载所有脚本(在其他模块中),而不考虑激活的模块
- <脚本类型=“;模块“>负载性能
- 带有全局变量、咖啡脚本和回调的模块 CSV
- 在单独的模块中放入一个脚本
- 从脚本标记的全局范围调用webpack模块中的函数
- NPM:将多个模块和自定义脚本与browserfy相结合
- Eslint-脚本和模块的SourceType混合体
- Typescript模块和systemjs.从内联脚本实例化类
- 加载外部脚本时,匿名定义()模块不匹配
- 将节点.js应用程序从 JavaScript 转换为咖啡脚本时出现无效字符和模块
- 将 requirejs 模块与构建脚本连接起来
- 用于功能模块化的聚合物脚本专用组件
- 仅在侦听器函数中加载脚本/模块会导致问题吗?
- 咖啡脚本:如何在一行中导入快速模块
- 如何在脚本标记的源属性中使用 AngularJS 模块常量
- 在Zend Framework中引导特定于模块的样式/脚本
- 在Joomla 2.5中将简单脚本转换为模块需要帮助来修复Java
- requirejs:从web服务加载脚本/模块
- RequireJS:在加载库模块后自动加载配置脚本
- 如何在html内正确引用节点脚本模块