- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要单独的 lodash 模块,这样我的 JS 构建只包含我需要的 lodash 代码(例如 import map from 'lodash/map'
而不是 import _ from 'lodash '
。(实际上,我正在使用 babel-plugin-lodash 来自动执行此操作。)所以在代码中的任何地方我实际上都没有导入整个 'lodash'
。
我希望 webpack 将任何需要包含在 vendor 包中的 lodash 代码放入。正在关注the webpack examples out there为了拆分 vendor 和应用程序包,我知道如何在 vendor 包中包含 所有 lodash(使用 CommonsChunkPlugin)。但我不想只使用 'lodash'
作为入口点并引入整个库。相反,我想让我实际导入的所有以 lodash
开头的模块最终出现在 vendor 包中。
有什么想法吗?
添加
由于我为每个应用程序构建了 3 个 bundle ,情况变得更加复杂:一个 vendor bundle 、一个跨应用程序通用的 bundle (将使用 lodash 模块)和特定于应用程序的代码(也将使用lodash 模块)。
以下是我的 webpack 配置的关键部分:
// ...
entry: {
specificApp: specificAppEntry,
appCommon: [appCommonEntry],
vendor: [listOfVendorJsLibraries],
},
// ...
plugins : [
new webpack.optimize.CommonsChunkPlugin({
names: ['appCommon', 'vendor'],
minChunks: Infinity,
}),
// ...
],
// ...
最佳答案
您可以传递一个minChunks
函数来实现自定义逻辑:https://webpack.github.io/docs/list-of-plugins.html#commonschunkplugin
您可以使用它来检查正在导入的模块是否来自 node_modules/lodash
。
例如我使用以下方法将从 node_modules
导入的所有内容 放入 vendor
包中:
import path from 'path'
import webpack from 'webpack'
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module, count) {
return (
module.resource &&
module.resource.indexOf(path.resolve('node_modules')) === 0
)
}
})
与 CommonsChunkPlugin
一起使用的工作解决方案,如评论中所述:
minChunks: function(module, count) {
return module.resource && module.resource.indexOf('lodash') !== -1
}
关于javascript - 我如何使用 webpack 强制将单独需要的 lodash 模块放入 vendor block 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34804430/
使用lodash,如何将生日相同的人的姓名归为一组,如下所示? 我使用嵌套的for循环写出了这个信息,但我想在lodash中会有一种更优雅的方法。我没有使用太多,并试图找出要使用的功能。 [
嘿,我想使用 lodash 计算对象数组中一个属性的总和 假设对象数组看起来像这样...... salary":[{ "bills":[{"electricity":300,"milk":500
我试图在调整窗口大小时触发一个事件,它似乎不起作用。 $(window).resize(function(){ _.debounce(function(){ console.log
我正在使用 StencilJS 编写一个网络组件。由我的组件导入的辅助类之一 (ArrayHelper.ts) 在顶部有这些导入: import transform from 'lodash/tran
我想用比较器对数组进行排序,例如: function myCustomComparator(a, b){...} 好像是 var sorted = myArray.sort(myCustomCompa
我试图弄清楚 Lodash iteratee 的工作原理以及我将在哪里使用它。 The documentation says: Creates a function that invokes func
我是 lodash (v3.10.1) 的新手,很难理解。希望有人能帮忙。 我有这样的输入: { {"id":1,"name":"Matthew","company":{"id":1,"na
我正在尝试添加到流类型的类型中。我从 lodash/fp 模块开始,因为它对我自己最有用。但是,我正在为如何正确输入它而苦苦挣扎。 如果 dropRightWhile 的一个简单示例: declare
有没有办法获取 lodash API 文档的 2.x 版本?上周末似乎主要链接已切换到 3.x,无法查看 2.x 文档。 https://lodash.com/docs 最佳答案 您可以在 Inter
为了减少 Angular 项目的包大小,我正在安装和导入单独的 lodash 库。 IE。 lodash.clonedeep 和其他 lodash.* 但会丢失这些的类型定义,因为它们不能与 @typ
像这样从 lodash 导入"template"有什么区别: import { template } from 'lodash'; 或者像这样: import template from 'lodas
我看到导入整个 lodash 库占用了相当多的磁盘空间: $ du . | grep lodash 1696 ./lodash/fp 5000 ./lodash 在我的代码中我只是在做 r
According to the lodash docs , _.extend(object, [sources]) 改变第一个参数。 var dest = { a: 1 }; _.extend(
我想创建值为“str”的键数组我有以下嵌套 json: [ { "Attr": [ { "power": { "p1": "str", "t3": "str"
lodash 提供了一个方法 _.uniq()从数组中查找唯一元素,但使用的比较函数是严格相等 === , 而我想使用 _.isEqual() ,满足: _.isEqual([1, 2], [1, 2
是escape和 unescape underscore 的功能和 lodash相同?我也可以吗escape与 lodash和 unescape与 underscore并且总是得到相同的字符串? 我可
我知道 rxjs 和 lodash 的定义和职责,但我想知道: 当我在我的项目中使用 rxjs 时,我可以扔掉 lodash 吗? 因为 rxjs 可以同步和异步工作(异步和同步数据)。我认为它可以作
使用 lodash 我想找到一个 id 为 3229 的团队。我尝试关注但它没有返回任何内容。 var team = _.chain(data.teams) .flatten(
我想知道 2 次导入在内存和性能方面是否有任何差异。 如果我的节点模块中有 lodash,无论导入如何,它都会编译所有文件吗? 最佳答案 理论上,based on the specification
基本上,我有一个对象数组,我只想更新数组中满足条件的对象。我想知道是否有解决该问题的有效方法。现在我正在使用 lodash。这是一个例子: var things = [ {id: 1, typ
我是一名优秀的程序员,十分优秀!