angular.js - webpack打包大型SPA配置問題
問題描述
目前項(xiàng)目是多頁面應(yīng)用。使用的是angular1.x 前端工具是Webpack。要轉(zhuǎn)換成SPA。打算使用angular-ui-router做路由管理。問題是把所有的文件打包成一個(gè)太大了。想法是只打包成一個(gè)第三個(gè)類庫的vendor.js和某業(yè)務(wù)邏輯相關(guān)的app.js比如登錄頁面我只想加載vendor.js和login.js登錄后進(jìn)到dashboard頁面。我也只想加載vendor.js和dashborard.js。類似這樣請(qǐng)問該如何配置angular-ui-router和webpack呢,謝謝。
問題解答
回答1:假設(shè)你的目錄結(jié)構(gòu)是這樣
src - common - utils.js - login - index.js - dashboard - index.js 代碼塊
common/utils.js
// 通用模塊,邏輯。console.log(’utils....’)
login/index.js
require(’./common/utils’) // 引入公共模塊// 自己的業(yè)務(wù)模塊console.log(’login....’)
dashboard/index.js
require(’./common/utils’) // 引入公共模塊// 自己的業(yè)務(wù)模塊console.log(’dashboard....’)要得到你期望的結(jié)果,webpack.config.js 配置如下:
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({ // 通過這個(gè)模塊,就可以提取公共的模塊 common/utils name:’vendor’, filename: ’[name].js’}) ]}最終打包后的結(jié)果
dist - jslogin.jsdashboard.js vendor.js
如上。。。
回答2:參考code splitting
回答3:我現(xiàn)在會(huì)用webpack生成所需js了。結(jié)合angular-ui-router該怎么引入各個(gè)js呢? 謝謝搜到一篇angular按需加載的文章
http://www.cnblogs.com/ys-ys/...,基于ui-router,ocLazyLoad看來能滿足我的需求。謝謝
相關(guān)文章:
1. javascript - sublime快鍵鍵問題2. javascript - immutable配合react提升性能?3. vue.js - Vue 如何像Angular.js watch 一樣監(jiān)聽數(shù)據(jù)變化4. javascript - 移動(dòng)端上不能實(shí)現(xiàn)拖拽布局嗎?5. 實(shí)現(xiàn)bing搜索工具urlAPI提交6. javascript - react native在run-android時(shí)出現(xiàn)這個(gè)錯(cuò)誤該怎么解決?大神賜教7. javascript - 如何判斷不同兩個(gè)對(duì)象觸發(fā)同一事件?8. thinkPHP5中獲取數(shù)據(jù)庫數(shù)據(jù)后默認(rèn)選中下拉框的值,傳遞到后臺(tái)消失不見。有圖有代碼,希望有人幫忙9. javascript - ios返回不執(zhí)行js怎么解決?10. index.php錯(cuò)誤,求指點(diǎn)

網(wǎng)公網(wǎng)安備