/ / Зареждане на модули от lodash при поискване - javascript, node.js, browserify, babel

Заредете модули от lodash при поискване - javascript, node.js, браузей, babel

Използвам 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, и мога да получа пространството от имена като _ също. Правя ли нещо нередно има друг начин на правене или това е единственият начин.

Отговори:

3 за отговор № 1

Ако можете да използвате babel-plugin-lodash плъгин, той прави почти това, което искате.

Вместо:

import assignIn from "lodash/assignin";
import isPlainObject from "lodash/isplainobject";
import isFunction from "lodash/isfunction";

можете просто да използвате:

import _ from "lodash";

и изходът от браузъра ще бъде трансформиран.

Например:

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