Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 缩小并删除所有未使用的函数,使js文件大小尽可能小,WebPack2_Javascript_Node.js_Minify_Webpack 2 - Fatal编程技术网

Javascript 缩小并删除所有未使用的函数,使js文件大小尽可能小,WebPack2

Javascript 缩小并删除所有未使用的函数,使js文件大小尽可能小,WebPack2,javascript,node.js,minify,webpack-2,Javascript,Node.js,Minify,Webpack 2,这是我的网页包: var path = require('path'); var webpack = require('webpack'); module.exports = { entry: { event: './widgets/events/app.js' }, output: { path: './dist', filename: '[name].widget.js' }, target: 'web', node: { conso

这是我的网页包:

var path = require('path');
var webpack = require('webpack');

module.exports = {
  entry: {
    event: './widgets/events/app.js'
  },
  output: {
    path: './dist',
    filename: '[name].widget.js'
  },
  target: 'web',
  node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  },
  externals: [
    {
      'cls-bluebird': true
    }
  ],
  plugins: [
    new webpack.optimize.UglifyJsPlugin({
      compress: {
        warnings: false // https://github.com/webpack/webpack/issues/1496
      }
    })
  ],
  module: {
    loaders: [
      {
        test: /.js?$/,
        loader: 'babel-loader',
        exclude: /node_modules/,
        query: {
          presets: ['es2015']
        }
      },
      {
        test: /\.marko$/,
        loader: 'marko-loader'
      }
    ]
  },
};
我确实:

“脚本”:{ “构建”:“eslint小部件和eslint帮助程序和网页包”, “prod”:“eslint小部件和eslint帮助程序和网页包-p--优化最小化” },

当我在
dist/
目录下运行prod并执行
ls-lah
时,我看到:

ls -lah
total 2704
drwxr-xr-x   3 AdamBalan  staff   102B 17 Feb 13:28 .
drwxr-xr-x  13 AdamBalan  staff   442B 28 Feb 12:12 ..
-rw-r--r--   1 AdamBalan  staff   1.3M  7 Mar 16:05 event.widget.js
1.3MB真是太大了。我确实使用了像
momentjs
lodash
和其他一些库。有没有办法把这个文件缩小?我还缺少其他优化吗

有人提到了摇树的概念,但每一篇博文都在谈论它,但并没有真正说明如何做到这一点


创意?

momentjs加载本地化文件。

lodash提供了一个babel插件和webpack插件,只加载它需要的内容,而不是整个库。看见 和

摇树是可能的。看