不要在生产版本中包含lodash,而是在导入单个文件时使用它

时间:2016-05-16 08:11:57

标签: javascript

我正在编写自己的JS帮助库,我需要在项目中使用它。

https://github.com/kitze/kitze-js-helpers

在我使用ES6和Babel的项目中,我只想导入一些帮助器,如

import {getPropertyFromAnotherArray} from 'kitze-js-helpers/src/helpers/array-helpers';

但我收到此错误array-helpers.js:66Uncaught TypeError: _lodash2.default.map is not a function

在我的图书馆的package.json中,我有这个:

"browser": { "lodash": false, "atob": false, "btoa": false }, "browserify": { "transform": [ "babelify", "browserify-shim" ] }, "browserify-shim": { "lodash": "global:_" }

如果我从package.json中删除了这些属性,那么错误就会消失,但是然后lodash,atob和btoa将与dist /文件夹中的帮助器捆绑在一起。

array-helpers.js的顶部 import _ from 'lodash'

所以我想要的行为是:

  • 如果库用作bundled/minified版本,我会 像lodash不要与助手捆绑在一起,但要使用 来自window._,所以lodash必须包含在 在助手面前。

  • 如果在ES6环境中使用该库,则只有一个文件 包含,lodash应该从包含帮助程序的当前项目的node_modules文件夹中使用。

  • 构建库的捆绑/缩小版本时,应忽略lodash并将其包含在the final build中。

任何帮助?

0 个答案:

没有答案