Babel ES6:如何在ES6中导入需要转译的Node模块

3
我正在正确导入一个Node模块,但遇到了一个问题,我导入的Node模块是用ES6编写的,而Babel无法转译它。
在基类头文件中:
import foo from 'bar/lib/foo';

在 node 模块中的 foo.js 文件中:
import Debug from 'debug';
export default class foo from bar {
    ...
    ...
    ...

}

错误信息:
import Debug from 'debug';
^^^^^^

SyntaxError: Unexpected token import

如您所见,它能够找到文件foo.js,但未运行es6中的node模块。我该如何让Babel转译基础代码以及它正在尝试导入的node模块?


你是在谈论某个特定的模块吗? - LeZuse
2个回答

1

Node模块应该与您的源代码分开编译。如果您正在使用外部库,则它们应该有一个包含转换代码的目录。如果您正在编写自己的库,您需要使用npm link并单独编译。

如果Node模块已经有了一个转换后的目录(例如dist),您可以尝试将转换后的代码导入到Node模块中:

import foo from 'bar/dist/foo';

1

我的操作是在基础文件夹的根目录下进行,而不是在“bar”节点模块文件夹中进行。它也应该在那里吗? - emarel
你是如何转译já文件的?通过Gulp吗? - Marco Talento

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接