The current project is a multi-page application. The front-end tool used is angular1.x and Webpack. To convert to SPA. Plan to use angular-ui-router for routing management.
The problem is that packing all the files into one is too big. The idea is to only package vendor.js into a third class library and app.js related to certain business logic
For example, for the login page, I only want to load vendor.js and login.js and then log in to the dashboard page. I also only want to load vendor.js and dashborard.js. Similar to this
How to configure angular-ui-router and webpack, thank you.
phpcn_u15822017-05-15 17:15:06
Assume your directory structure is like this
src
- common
- utils.js
- login
- index.js
- dashboard
- index.js
common/utils.js
// 通用模块,逻辑。
console.log('utils....')
login/index.js
require('./common/utils') // 引入公共模块
// 自己的业务模块
console.log('login....')
dashboard/index.js
require('./common/utils') // 引入公共模块
// 自己的业务模块
console.log('dashboard....')
webpack.config.js
configure as follows: var webapck = require('webpack')
module.exports = {
entry:{
login:'./src/login/index.js',
dashboard:'./src/dashboard/index.js'
},
output:{
publicPath:'/',
path: __dirname + '/dist',
filename:'js/[name].js',
chunkFilename:'js/[id].js'
},
plugins:[
new webpack.optimize.CommonsChunkPlugin({
// 通过这个模块,就可以提取公共的模块 common/utils
name:'vendor',
filename: '[name].js'
})
]
}
dist
- js
login.js
dashboard.js
vendor.js
As above. . .
ringa_lee2017-05-15 17:15:06
I found an article about angular on-demand loading
http://www.cnblogs.com/ys-ys/..., based on ui-router, ocLazyLoad
seems to meet my needs. Thank you