我是angularjs的新手,在我的项目中有很多依赖关系的js文件,这影响了我为每个文件执行项目的性能,因此存在单独的请求,因此与如此多的文件,我已经结束了很多请求..我正在寻找使用webpack创建这些文件的单个包...我正在寻找使用webpack创建单个文件的步骤?如何使用webpack模块捆绑器创建单个js文件包 - 角
1
A
回答
3
假设您使用Angular 2/4/5,您可以按照以下步骤操作。
第1步: - 使用节点命令安装webpack。
npm install -g webpack
第2步: - 创建“webpack.config.js”并定义要如何捆绑。该文件是定义捆绑路线图的webpack配置文件。例如在下面的配置中,我创建了三个捆绑包。 “启动”,“供应商模块”和“客户模块”。这些包将被编译到“dist”目录。如果要压缩你可以使用“-p”选项的文件去你做出这个文件的文件夹,并执行的WebPack - :如果你是新来的WebPack通过这个webpack article
var path = require('path');
module.exports = {
entry: {
CustomerModule: "./Modules/CustomerModule.js",
SupplierModule: "./Modules/SupplierModule.js",
Startup: [ "./node_modules/core-js/client/shim.min.js",
"./node_modules/zone.js/dist/zone.js",
"./node_modules/reflect-metadata/Reflect.js",
"./Startup.js"
]
},
output: {
path: path.join(__dirname, "dist"),
publicPath: "/dist/",
filename: "[name].bundle.js"
}
};
第3步。
webpack -p
如果一切顺利,您应该看到如下所示的内容。您可以看到他已经根据上一步中定义的“webpack”配置文件的路线图创建了三个捆绑包。
第4步: - 在你的角度索引页,删除所有的JS文件,并添加引用从DIST文件夹中的文件。请注意,主角页面只需要引用startup.js,其他模块将按需加载。
如果您使用systemJS进行延迟加载,则还需要以下三个步骤。
第1步: - 获取“ES6-承诺装载机”和替换Systemjs
替换ES6承诺装载机systemjs。所以做一个NPM并得到它。
第2步: - 安装节点类型
npm install -save @types/node
第3步: - 你的动态模块加载程序代码也将改变现在。所以路由代码变得东西如下图所示
export const MainRoutes = [
{ path: 'Customer', loadChildren:() => require('es6-promise-
loader!../Modules/CustomerModule')('CustomerModule')},
{ path: 'Supplier', loadChildren:() => require('es6-promise-
loader!../Modules/SupplierModule')('SupplierModule') },
{ path: '', component: HomeComponent },
{ path: 'Shell.html', component: HomeComponent },
{ path: 'Help', component: HelpComponent, outlet: "helpoutlet" }
];
的WebPack再次执行捆绑的文件。如果你看到捆绑输出可以看到0.bundle.js,1.bundlejs这是签署您的延迟加载捆绑运作良好。
快乐捆绑...
相关问题
- 1. 捆绑js不是由webpack创建的
- 2. 如何避免在Webpack构建上捆绑模拟模块?
- 3. 使用Webpack从包中捆绑单个组件?
- 4. 在捆绑webpack时,我可以捆绑通用模块吗?
- 5. 使用Python包捆绑Cython模块
- 6. 创建捆绑少用的WebPack
- 7. Webpack捆绑不包括特定的模块,如'sequelize'
- 8. 通过Webpack捆绑销售模块
- 9. Webpack不捆绑依赖关系JS文件中导入的节点模块
- 10. 如何将传统的js文件与webpack捆绑在一起?
- 11. 如何防止被webpack捆绑的.js文件
- 12. Browserify - 创建与外部模块捆绑
- 13. 说JS模块捆绑器(例如Webpack)正在编译是不正确的?
- 14. 如何在Angular2 + Webpack中为每个模块创建一个单独的文件?
- 15. 如何使用webpack捆绑库?
- 16. __dirname不节点JS用的WebPack捆绑
- 17. 如何排除捆绑中的js文件并将其用于不同的块/捆绑包中?
- 18. 使用Webpack捆绑sha3 /二进制模块
- 19. 使用Webpack捆绑Angular 2项目时未找到模块
- 20. 如何创建JS模块?
- 21. 香草JS:模块捆绑或不
- 22. webpack捆绑包大小vs requirejs捆绑包大小
- 23. Webpack不捆绑我的HTML文件
- 24. RequireJS捆绑包配置与捆绑模块
- 25. 如何包含捆绑在gem文件中的资源(js/css)?
- 26. 如何用OSGI模块创建一个简单的WAR文件
- 27. 未生成Webpack捆绑文件
- 28. 的WebPack不输出捆绑文件
- 29. 如何创建一个角模块作为凉亭包
- 30. 绑定单独的python模块以创建一个“包”
您使用的角度或Angularjs?这是一个非常重要的区别。你正在使用这两个标签,但我没有假设你同时使用了两个框架。 –
虽然张贴它建议我添加一些关键字来添加自动完成...我的问题是更具体到angular..let我知道任何更改来纠正它 –
您可以通过编辑您的问题更改标签。删除不符合您问题的标签。 'angular'标签仅用于角度版本2+,而'angularjs'标签用于角度版本1.X。 –