假设我想在我的项目(或任何给定的 npm 包)中使用 Immutable。我有npm install
编辑了它,所以它在node_modules
。当然,它有 CommonJS 导出。然而,我想在我的项目中使用 es6 模块。
我使用 Webpack 将其全部编译在一起,并使用 6to5-loader 来处理 es6 模块语法。
在我的源文件中,我说import Immutable from 'immutable';
--- 但这会导致一个问题,因为 es6import
正在寻找 es6default
已导出,但事实并非如此(对于 Immutable 或几乎任何其他 npm 包)。编译后的代码最终如下所示:var Immutable = require('immutable')["default"];
--- 这当然会引发错误,因为没有default
要查找的财产。
我可以使用带有 es6 模块的 npm 包吗?
Babel.js https://babeljs.io贡献者在这里。您正在寻找以下内容:
import * as Immutable from 'immutable';
// compiles to:
var Immutable = require('immutable');
注意:这适用于common
or commonInterop
模块选项。对于其他人,请参阅:https://babeljs.io/docs/usage/modules/ https://babeljs.io/docs/usage/modules/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)