按需从 lodash 加载模块
Load modules from lodash on demand
我正在将 Browserify 与 Babel 和 Gulp 一起使用。
目前我的项目只需要 lodash
的很少一部分,我不想加载整个模块。
import assignIn from 'lodash/assignin';
import isPlainObject from 'lodash/isplainobject';
import isFunction from 'lodash/isfunction';
以上代码工作正常,但有点耗时,我必须重复指定整个路径。
如果可以这样来做岂不是很好:
import {assignIn, isPlainObject, isFunction} as _ from 'loadash';
并将其用作_.assignIn
。我也可以获得 _
的命名空间。
我做错了什么有另一种方法或者这是唯一的方法。
如果您可以使用 babel-plugin-lodash
插件,它几乎可以满足您的需求。
而不是:
import assignIn from 'lodash/assignin';
import isPlainObject from 'lodash/isplainobject';
import isFunction from 'lodash/isfunction';
你可以只使用:
import _ from 'lodash';
browserify 的输出将被转换。
例如:
import _ from 'lodash';
function Foo() {
this.a = 1;
}
Foo.prototype.b = 2;
_.assignIn({ 'a': 0 }, new Foo);
_.isPlainObject({});
_.isFunction(/abc/);
没有插件:
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
...
使用插件:
var _isFunction2 = require('lodash/isFunction');
var _isFunction3 = _interopRequireDefault(_isFunction2);
var _isPlainObject2 = require('lodash/isPlainObject');
var _isPlainObject3 = _interopRequireDefault(_isPlainObject2);
var _assignIn2 = require('lodash/assignIn');
var _assignIn3 = _interopRequireDefault(_assignIn2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
...
我正在将 Browserify 与 Babel 和 Gulp 一起使用。
目前我的项目只需要 lodash
的很少一部分,我不想加载整个模块。
import assignIn from 'lodash/assignin';
import isPlainObject from 'lodash/isplainobject';
import isFunction from 'lodash/isfunction';
以上代码工作正常,但有点耗时,我必须重复指定整个路径。 如果可以这样来做岂不是很好:
import {assignIn, isPlainObject, isFunction} as _ from 'loadash';
并将其用作_.assignIn
。我也可以获得 _
的命名空间。
我做错了什么有另一种方法或者这是唯一的方法。
如果您可以使用 babel-plugin-lodash
插件,它几乎可以满足您的需求。
而不是:
import assignIn from 'lodash/assignin';
import isPlainObject from 'lodash/isplainobject';
import isFunction from 'lodash/isfunction';
你可以只使用:
import _ from 'lodash';
browserify 的输出将被转换。
例如:
import _ from 'lodash';
function Foo() {
this.a = 1;
}
Foo.prototype.b = 2;
_.assignIn({ 'a': 0 }, new Foo);
_.isPlainObject({});
_.isFunction(/abc/);
没有插件:
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
...
使用插件:
var _isFunction2 = require('lodash/isFunction');
var _isFunction3 = _interopRequireDefault(_isFunction2);
var _isPlainObject2 = require('lodash/isPlainObject');
var _isPlainObject3 = _interopRequireDefault(_isPlainObject2);
var _assignIn2 = require('lodash/assignIn');
var _assignIn3 = _interopRequireDefault(_assignIn2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
...