如何为节点和Web构建npm包?

时间:2018-04-08 14:28:37

标签: node.js webpack

我需要开发像wpcom-xhr-request这样的npm包,这个包可以在节点和web中使用,我克隆了这个包并给它一个新名称,创建一个个人git包。它只能在web上工作,当它在节点中使用时,会出现这个错误:

import requestHandler from 'acme-xhr-request';
^^^^^^

SyntaxError: Unexpected token import
    at createScript (vm.js:80:10)

为什么wpcom-xhr-request可以在两种环境中使用?没有n8-make怎么办?目前,makefile使我们的工作成为垃圾综合体,我不想引入新的复杂性。

1 个答案:

答案 0 :(得分:1)

我怀疑你正在使用的节点版本还不了解导入。它可以通过节点的实验性功能启用,但您需要使用require语法(不导入),或者现在使用像babel这样的工具将其转换为ES5。

Node.js - SyntaxError: Unexpected token import

为您的节点应用设置webpack,然后安装babel-loader以将ES6 javascript转换为ES5。

https://github.com/babel/babel-loader