angular.js - webpack打包大型SPA配置问题
怪我咯
怪我咯 2017-05-15 17:13:06
0
3
804

目前项目是多页面应用。使用的是angular1.x 前端工具是Webpack。要转换成SPA。打算使用angular-ui-router做路由管理。
问题是把所有的文件打包成一个太大了。想法是只打包成一个第三个类库的vendor.js和某业务逻辑相关的app.js
比如登录页面我只想加载vendor.js和login.js登录后进到dashboard页面。我也只想加载vendor.js和dashborard.js。类似这样
请问该如何配置angular-ui-router和webpack呢,谢谢。

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(3)
phpcn_u1582

Supposons que votre structure de répertoires soit comme ceci

src
  - common
    - utils.js
    
  - login
    - index.js
    
  - dashboard 
    - index.js
    

Blocs de code

common/utils.js

// 通用模块,逻辑。
console.log('utils....')

login/index.js

require('./common/utils') // 引入公共模块

// 自己的业务模块
console.log('login....')

tableau de bord/index.js

require('./common/utils') // 引入公共模块

// 自己的业务模块
console.log('dashboard....')

Pour obtenir les résultats que vous attendez, webpack.config.js configurez comme suit :

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'
        })
    ]
}

Le résultat final après emballage

 dist
    - js
        login.js
        dashboard.js
        
    vendor.js

Comme ci-dessus. . .

刘奇

Partage du code de référence

左手右手慢动作

Je peux maintenant utiliser webpack pour générer les js requis. Comment introduire divers js en combinaison avec angulaire-ui-router ? Merci

J'ai trouvé un article sur le chargement angulaire à la demande

http://www.cnblogs.com/ys-ys/..., basé sur ui-router, ocLazyLoad
semble répondre à mes besoins. Merci

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!