这篇文章主要介绍了angular+webpack2的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
webpack出了中文版以后,对于我们这些英语不是很好的来说真的是太棒了,话说angularjs啥时候也出个中文文档就更好了,webpack官网:https://doc.webpack-china.org/
右上角可以选择语言。
开始之前先看一下目录文件:
第一步:
首先要使用webpack需要先安装webpack,官网给出了好几中安装方式,就不多说了:
npm install --global webpack
因为我用的是webpack2 所以需要注意版本1x 到 2x 的配置差异,这里官网也给出了详细差异:https://doc.webpack-china.org/guides/migrating/
第二步webapck配置webpack.config.js:
const webpack = require('webpack'); //to access built-in plugins const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const config = { entry: './app/app.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle-[chunkhash].js', publicPath: "/mobile/dist/" }, module: { rules: [ { test: /\.(js|jsx)$/, use: 'babel-loader' }, { test: /\.css$/, use: ['style-loader','css-loader'] }, { test: /\.(png|jpg|jpeg|gif|woff)$/, use: 'url-loader?limit=4192&name=[name].[ext]' }, ] }, plugins:[ new HtmlWebpackPlugin({ //自动生成Html template:'./app/view/index.html', filename:'../app/index.html', inject:'body' }) ] }; module.exports = config;
这里需要说的是entry: './app/app.js'
是入口文件,所有的 js代码都通过入口文件加载,我这里就只用了 app.js ,但是也可以设置多个入口文件。
output:
设置输出的路径和文件,这里我是将所有的 js 压缩到了bundle.js中,这里也是可以设置压缩到多个文件的,文件后面我设置了 hash 值主要考虑浏览器缓存问题,module: 就是配置js css html 打包压缩的规则,这里写法和 webpack1x 有较大差异,还需注意。
plugins:
插件,webpack 有很多内置插件,HtmlWebpackPlugin 是动态生成html的一个内置插件,主要的作用是可以动态的把压缩后带有 hash 值的js动态插入到 html 中。
配置就暂时说到这里,然后再看看我们的入口文件,app.js,
var angular = require('angular');// 引入angular var urlRouterProvider = require('angular-ui-router'); var uiLoad = require('angular-ui-load'); var $jq = require('jquery'); var animate = require('angular-animate'); var ngModule = angular.module('app',['ui.router','ui.load','ngAnimate']); // 创建app require('./factory.js')(ngModule,$jq);// 公共方法封装 require('./route.js')(ngModule);// 引入路由文件 require('./directives.js')(ngModule,$jq);// 组件 require('./controller.js')(ngModule);// 控制器 require('./css/style.css');// 引入样式文件
这里主要把js依赖文件引入,然后把angular的路由和逻辑处理的js引入,方便前端模块化编程,注视比较清晰就不多说了。单独的js模块直接按照原来的写就ok了 区别就是在最外层写一个module.exports = function(ngModule){}
感谢你能够认真阅读完这篇文章,希望小编分享的“angular+webpack2的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。