2017-02-09 204 views
0

我在玩ES6语法,并且想在NPM中构建一个小模块,该模块使用另一个npm模块(例如push-js)作为依赖项。目前,我正在使用汇总来捆绑并生成我的分发文件。如何导入node_modules依赖项以用于前端ES6模块

我不知道什么是正确的方式来包括一个依赖项,以便在我自己的模块中使用它。这是我试过

import * as Push from 'push.js'; 

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

    }); 
} 

汇总触发这个代码以下错误:

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

我在做某种根本性错误吗?感谢您的帮助!让我知道,如果你需要更多的信息,如gulpfile。

回答

1

你已经够接近了。但是,至少在目前的转运商(Babel and co。)中,CommonJS模块出口被视为默认出口。这意味着,您只需导入默认导出(import Push),而不是导入所有单独的实体(import * as 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.

+0

我发现我需要添加nodeResolve和commonjs(现在有道理)插件来解决推库问题。你的评论帮我解决了这个问题。从我尝试在自己的模块代码中使用“Push”对象的角度来看,我仍然不断收到错误。任何想法仍然缺少什么? – Jorre

+0

等等,这是关于你的配置?我不知道你的问题可能是什么,因为我甚至不知道你的代码是什么样的。 – nils

+0

你的回答解决了这个问题,谢谢!之后,这是我的错误,只是看看我的班级,这是不正确的语法。完全忽略了向类中添加一个函数,然后调用push.create。再次感谢! – Jorre

相关问题