Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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 如何使用网页2从木偶3应用程序中排除未使用的lodash部分_Javascript_Webpack_Babeljs_Marionette_Lodash - Fatal编程技术网

Javascript 如何使用网页2从木偶3应用程序中排除未使用的lodash部分

Javascript 如何使用网页2从木偶3应用程序中排除未使用的lodash部分,javascript,webpack,babeljs,marionette,lodash,Javascript,Webpack,Babeljs,Marionette,Lodash,我有一个具有下一个依赖项的虚拟应用程序 "dependencies": { "backbone": "^1.3.3", "backbone.marionette": "^3.1.0", "jquery": "^3.1.1", "lodash": "^4.17.4" }, "devDependencies": { "babel-core": "^6.22.1", "babel-loader": "^6.2.10", "babel-preset-env": "^1.1.8

我有一个具有下一个依赖项的虚拟应用程序

"dependencies": {
  "backbone": "^1.3.3",
  "backbone.marionette": "^3.1.0",
  "jquery": "^3.1.1",
  "lodash": "^4.17.4"
},
"devDependencies": {
  "babel-core": "^6.22.1",
  "babel-loader": "^6.2.10",
  "babel-preset-env": "^1.1.8",
  "webpack": "^2.2"
}
还有一个webpack.config.js

{
  entry: {
    app: './empty-file.js',
    vendor: ['backbone.marionette']
  },
  module: {
    rules: [
      {
        test: /\.(js)$/,
        use: 'babel-loader'
      }
    ]
  },
  resolve: {
    extensions: ['.js'],
    alias: {
      underscore: 'lodash'
    }
  },
  plugins: [
    new webpack.optimize.CommonsChunkPlugin('vendor')
  ],
当我运行webpack时,我会将整个lodash库打包。它是巨大的,比其他所有东西加起来都要大。据我所知,是提线木偶从“lodash”制作了类似于导入的东西。有没有办法去除不需要的lodash部分

您可以使用删除不需要的零件

之前

从“lodash”导入; 从'lodash/fp'导入{add}; const addOne=add(1); _.map([1,2,3],addOne); 之后

import_从'lodash/fp/add'添加;
从“lodash/map”导入地图;
const addOne=_add(1);
_地图([1,2,3],addOne);
您可以使用删除不需要的零件

之前

从“lodash”导入; 从'lodash/fp'导入{add}; const addOne=add(1); _.map([1,2,3],addOne); 之后

import_从'lodash/fp/add'添加;
从“lodash/map”导入地图;
const addOne=_add(1);
_地图([1,2,3],addOne);

感谢您的建议,在大多数情况下,这是一个不错的选择。不幸的是,插件的一个要求是“您必须使用ES2015导入来加载Lodash”,但据我所知,木偶使用commonjs
require
导入下划线/Lodash,源代码使用ES2015导入:文档中的代码可能不是最新的。嗯,很有趣!他们将编译后的文件作为“main”提供,并将src文件夹从带有
.npmignore
文件的包中排除。即使我将github url声明为dependency,npm也会在不使用src的情况下下载它。感谢您的建议,在大多数情况下,它看起来是一个不错的选择。不幸的是,插件的一个要求是“您必须使用ES2015导入来加载Lodash”,但据我所知,木偶使用commonjs
require
导入下划线/Lodash,源代码使用ES2015导入:文档中的代码可能不是最新的。嗯,很有趣!他们将编译后的文件作为“main”提供,并将src文件夹从带有
.npmignore
文件的包中排除。即使我将github url声明为依赖项,npm也会在不使用src的情况下下载它。