gpt4 book ai didi

javascript - 按需从 lodash 加载模块

转载 作者:搜寻专家 更新时间:2023-11-01 00:30:07 27 4
gpt4 key购买 nike

我将 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 }; }
...

关于javascript - 按需从 lodash 加载模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39487619/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com