如何导入node_modules依赖项以在前端ES6模块中使用

时间:2017-02-09 15:01:54

标签: npm ecmascript-6

我正在使用ES6语法,并希望在NPM中构建一个小模块,它使用另一个npm模块(例如push-js)作为依赖项。目前,我使用汇总来捆绑和生成我的分发文件。

我不确定包含依赖项的正确方法是什么,以便在我自己的模块中使用它。这就是我试过的

import * as Push from 'push.js';

class _MyModule
{
    Push.create("Go ahead, click this notification", {

    });
}

Rollup会在此代码上触发以下错误:

events.js:160
      throw er; // Unhandled 'error' event
      ^
Error: Unexpected token

我在这里做了一些根本错误的事吗?谢谢你的帮助!如果您需要更多信息,如gulpfile,请告诉我。

1 个答案:

答案 0 :(得分:1)

你足够近了。但是,至少在当前的转发器(Babel和co。)中,CommonJS模块导出被视为默认导出。这意味着,您只需导入默认导出(import * as Push),而不是导入所有单独的实体(import Push)。

import Push from 'push.js';

class _MyModule
{
    constructor() {
        Push.create("Go ahead, click this notification", {

        });
    }
}

如何解决CommonJS和ES模块之间的实际互操作性,尚未最终确定。 See Axel Rauschmayr's blog post on the subject.