在我的angular 5应用程序中,当我使用
创建构建时ng build --prod --sm
和开源地图资源管理器,时刻需要在main.js文件中占用大量空间。我发现当我使用
时,所有语言环境都被加载了import * as moment from 'moment';
我已经将材质矩适配器用于应用程序中的某些功能,这些功能也需要时刻包。
我使用angular-cli创建了应用程序。我发现许多链接使用webpack.config.js中的设置排除了语言环境 有没有办法使用angular-cli排除语言环境?
答案 0 :(得分:0)
本文介绍了很好的解决方案: https://medium.jonasbandi.net/angular-cli-and-moment-js-a-recipe-for-disaster-and-how-to-fix-it-163a79180173
简而言之:
ng add ngx-build-plus
在项目的根目录中添加文件webpack.extra.js:
const webpack = require('webpack');
module.exports = {
plugins: [
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
]
}
运行:
npm run build --prod --extra-webpack-config webpack.extra.js
答案 1 :(得分:0)
这个 Angular 问题还有另一个解决方案: https://github.com/angular/angular-cli/issues/6137#issuecomment-387708972
添加一个名为“moment”的自定义路径,以便默认解析为您想要的 JS 文件:
"compilerOptions": {
"paths": {
"moment": [
"./node_modules/moment/min/moment.min.js"
]
}
}