gpt4 book ai didi

javascript - 使用 AngularJS 和 Webpack 2 进行缩小

转载 作者:行者123 更新时间:2023-11-30 08:27:24 24 4
gpt4 key购买 nike

我想连接包含我的 angularjs 代码的 js 文件列表并对其进行 uglify。我想以有序的方式连接它以避免“that .... is not defined”错误。

我还从 github 下载了一些库并放在“lib”文件夹中。我想在 vendor.bundle.js 中连接这些库。

这是文件夹结构:

/app
/feature1
feature1.controller.js
/feature2
feature2.controller.js
/...
app.module.js
/libs
/angular
angular.min.js
/angular-ui-router
angular-ui-router.min.js
/angular-material
angular-material.min.js
angular-material.min.css

/...
app.js
vendor.js

在 app.js 里面我有这个:

require('./app/app.module.js');
require('./app/feature1/feature1.controller.js');
require('./app/feature2/feature2.controller.js');
...

在 vendor.js 里面我有这个:

require('./libs/angular/angular.min.js');
require('./libs/angular-ui-router/angular-ui-router.min.js');
require('./libs/angular-material/angular-material.min.js');
require('./libs/angular-material/angular-material.min.css');
...

这是 webpack.config.js:

const path = require('path');
const webpack = require('webpack');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
context: __dirname,
entry: {
app: "./app.js",
vendor: "./vendor.js",
},
output: {
path: path.resolve(__dirname, "app"),
filename: "app.bundle.js"
},
module: {
rules: [
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
}
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: "vendor",
filename:"./app/vendor.bundle.js"
}),
new UglifyJSPlugin({
compress: true,
sourceMap: false,
mangle: true
})
]
};

此配置的结果是 app.bundle.js 中的连接未排序,因此存在未定义的函数等...

并且 vendor.bundle.js 没有创建,因为它会产生很多错误。

使用拆分的个人代码和 vendor 代码进行缩小的正确方法是什么?

最佳答案

您是否尝试过使用命令 wepack -p 在 native 执行此操作?

如果它不起作用,您可以尝试将 Uglify 修改为:

new UglifyJSPlugin({
compress: true,
sourceMap: false,
mangle: false // modified
})

关于javascript - 使用 AngularJS 和 Webpack 2 进行缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43386731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com