Javascript 角度1+;网页包产生巨大的文件

Javascript 角度1+;网页包产生巨大的文件,javascript,angularjs,webpack,Javascript,Angularjs,Webpack,我一直在做这个有棱角的网页 在安装了一些模块之后,我看到app.bundle.js文件几乎变成15MB,并且花费了太多的时间 我已尝试将devtool更改为 config.devtool = 'cheap-module-source-map'; 它几乎将文件大小减小到200Kb,这很好,但随后我的应用程序由于角度错误而崩溃 错误:[$injector:unpr]未知提供程序:t “严格使用”; //模块 var path=require('path'); var webpack=requi

我一直在做这个有棱角的网页

在安装了一些模块之后,我看到
app.bundle.js
文件几乎变成15MB,并且花费了太多的时间

我已尝试将devtool更改为

config.devtool = 'cheap-module-source-map';
它几乎将文件大小减小到200Kb,这很好,但随后我的应用程序由于角度错误而崩溃

错误:[$injector:unpr]未知提供程序:t

“严格使用”;
//模块
var path=require('path');
var webpack=require('webpack');
var autoprefixer=require('autoprefixer');
var HtmlWebpackPlugin=require('html-webpack-plugin');
var ExtractTextPlugin=require('extract-text-webpack-plugin');
var CopyWebpackPlugin=require('copy-webpack-plugin');
/**
*环境
*获取npm生命周期事件以标识环境
*/
var ENV=process.ENV.npm_lifecycle_事件;
var isTest=ENV=='test'| | ENV==='test watch';
var isProd=ENV==‘构建’;
module.exports=函数makeWebpackConfig(){
/**
*配置
*参考:http://webpack.github.io/docs/configuration.html
*这是设置所有配置的对象
*/
var config={};
/**
*入口
*参考:http://webpack.github.io/docs/configuration.html#entry
*如果正在生成测试生成,则应为空对象
*当它是一个测试构建时,因果报应会设置这个
*/
config.entry=isTest?无效0:{
应用程序:'./app/app.js'
};
/**
*输出
*参考:http://webpack.github.io/docs/configuration.html#output
*如果正在生成测试生成,则应为空对象
*当它是一个测试构建时,Karma会为你设置它
*/
config.output=isTest?{}:{
//绝对输出目录
路径:uu dirname+'/dist',
//页面视图中的输出路径
//在开发中使用Web包开发服务器
公共路径:isProd?“/”:“http://localhost:8080/',
//入口点的文件名
//仅在构建模式下添加哈希
文件名:isProd?'[name].[hash].js':'[name].bundle.js',
//非入口点的文件名
//仅在构建模式下添加哈希
chunkFilename:isProd?'[name].[hash].js':'[name].bundle.js'
};
/**
*开发工具
*参考:http://webpack.github.io/docs/configuration.html#devtool
*每个生成类型要使用的源映射的类型
*/
如果(isTest){
config.devtool='inlinesourcemap';
}
否则{
config.devtool='eval source map';
}
/**
*装载机
*参考:http://webpack.github.io/docs/configuration.html#module-装载机
*名单:http://webpack.github.io/docs/list-of-loaders.html
*这将处理大部分负责转换模块的魔法
*/
//初始化模块
config.module={
规则:[{
//JS加载器
//参考:https://github.com/babel/babel-loader
//使用babel loader传输.js文件
//将ES6和ES7编译为ES5代码
测试:/\.js$/,,
加载器:“巴别塔加载器”,
排除:/node\u模块/
}, {
//CSS加载器
//参考:https://github.com/webpack/css-loader
//允许通过js加载css
//
//参考:https://github.com/postcss/postcss-loader
//使用POSTSS插件对css进行后处理
测试:/\.css$/,,
//参考:https://github.com/webpack/extract-text-webpack-plugin
//在生产版本中提取css文件
//
//参考:https://github.com/webpack/style-loader
//在开发中使用样式加载器。
加载程序:isTest?“空加载程序”:ExtractTextPlugin.extract({
回退加载器:“样式加载器”,
加载器:[
{loader:'css loader',查询:{sourceMap:true}},
{loader:'postsss loader'}
],
})
}, {
//资产加载器
//参考:https://github.com/webpack/file-loader
//将png、jpg、jpeg、gif、svg、woff、woff2、ttf、eot文件复制到输出
//使用资产哈希重命名文件
//将更新后的引用传递给代码
//您可以在此处添加任何要复制到输出的文件扩展名
测试:/\(png | jpg | jpeg | gif | svg | woff | woff2 | ttf | eot)$/,
加载器:“文件加载器”
}, {
//HTML加载器
//参考:https://github.com/webpack/raw-loader
//允许通过js加载html
测试:/\.html$/,,
加载器:“原始加载器”
}]
};
//伊斯坦布尔装载机
// https://github.com/deepsweet/istanbul-instrumenter-loader
//Instrument JS文件与伊斯坦布尔lib Instrument一起用于后续代码覆盖率报告
//跳过以.test结尾的节点单元模块和文件
如果(isTest){
config.module.rules.push({
强制执行:“预”,
测试:/\.js$/,,
排除:[
/节点\模块/,
/\.spec\.js$/
],
装载机:“伊斯坦布尔仪表装载机”,
查询:{
埃斯莫杜勒斯:是的
}
})
}
/**
*邮政编码
*参考:https://github.com/postcss/autoprefixer-core
*在css中添加供应商前缀
*/
//注意:这现在在`postss.config.js中处理`
//webpack2有一些问题,需要配置文件
/**
*插件
*参考:http://webpack.github.io/docs/configuration.html#plugins
*名单:http://webpack.github.io/docs/list-of-plugins.html
*/
config.plugins=[
新的webpack.LoaderOptionsPlugin({
测试:/\.scss$/i,
选项:{
邮政编码:{
插件:[自动引用器]
}
}
}),
新的webpack.ProvidePlugin({
$:“jquery”,
jQuery:'jQuery'
})
];
//在测试模式下跳过rendering index.html
如果(!isTest){
//参考:https://github.com/ampedandwired/html-webpack-plugin
//Render index.html
config.plugins.push(
新HtmlWebpackPlugin({
模板:'./app/index.html',
注射:“身体”
}),
//参考:https://github.com/webpack/extract-text-webpack-plugin
//提取css文件
//处于测试模式时禁用