Webpack 打包 AngularJS 1.x 应用

Webpack 是 JavaScript 开发中常用的模块打包工具,它可以将应用的不同部分(如 JavaScript、CSS 和图片)打包成可部署的静态资源。将探讨如何使用 Webpack 管理和构建 AngularJS 1.x 应用。

AngularJS 1.x 是 Google 推出的前端框架,用于构建单页应用。但随着项目规模增长,管理依赖和构建过程会变得复杂。Webpack 可以解决这个问题,它将 AngularJS 1.x 应用的模块进行智能打包,优化加载速度并提升开发效率。

要使用 Webpack 构建 AngularJS 1.x 项目,首先需要安装 Webpack 和相关插件:

npm init -y
npm install webpack webpack-cli --save-dev

然后,创建一个 webpack.config.js 文件配置 Webpack,设置入口点、输出目录、加载器和插件。例如:

module.exports = {
  entry: './src/app.js', // AngularJS 1.x 应用的主入口文件
  output: {
    path: __dirname + '/dist',
    filename: 'bundle.js' // 输出的打包文件
  },
  module: {
    rules: [
      {
        test: /.js$/, // 匹配 .js 文件
        exclude: /node_modules/, // 排除 node_modules 目录
        use: ['ng-annotate-loader', 'babel-loader'] // 使用 ng-annotate 处理 AngularJS 注解,Babel 转换 ES6 到 ES5
      }
    ]
  }
};

这段配置使用了 ng-annotate-loader 处理 AngularJS 的依赖注入注解,babel-loader 将 ES6 代码转换为浏览器兼容的 ES5 代码。如果项目包含 CSS 或 HTML,还需要添加 style-loadercss-loaderhtml-webpack-plugin 等加载器。

最后,在 package.json 文件中添加构建脚本,运行 npm run build 命令即可使用 Webpack 打包 AngularJS 1.x 应用。

zip
webpack构建angular1x.zip 预估大小:34个文件
folder
webpack-es6-angular1.x-master 文件夹
file
webpack.config.js 7KB
folder
src 文件夹
folder
services 文件夹
file
confirm.service.js 607B
file
common.service.js 4KB
folder
public 文件夹
file
index.html 2KB
folder
img 文件夹
file
favicon.png 3KB
file
favicon.ico 5KB
file
logo.png 11KB
folder
font 文件夹
file
iconfont.svg 20KB
file
iconfont.woff 10KB
file
iconfont.eot 16KB
file
iconfont.ttf 16KB
file
iconfont.css 1KB
folder
scss 文件夹
file
_reset-meterial.scss 3KB
file
_table.scss 1KB
file
_form.scss 905B
file
app.scss 4KB
folder
features 文件夹
folder
manageCenter 文件夹
folder
domainManager 文件夹
file
domainList.html 6KB
file
domain.edit.controller.js 1KB
file
domain.edit.tmpl.html 5KB
file
domain.controller.js 3KB
file
index.js 427B
file
sub-menu.html 2KB
file
manage.routes.js 730B
folder
app 文件夹
file
app.js 947B
file
app.spec.js 409B
file
app.config.js 2KB
file
.babelrc 27B
file
LICENSE 1KB
file
README.md 843B
folder
mock 文件夹
file
routes.json 19B
file
generate.js 640B
file
api.json 392B
file
.gitignore 71B
file
package.json 2KB
zip 文件大小:79.54KB