Babel ES6:导入节点模块也需要在ES6中进行转换
我正在导入一个节点模块,但遇到了一个问题,我导入的节点模块是用es6编写的,而且babel无法传输。
在基类头中:
import foo from 'bar/lib/foo';
在节点模块中的foo.js中:
import Debug from 'debug'; export default class foo from bar { ... ... ... }
错误信息:
import Debug from 'debug'; ^^^^^^ SyntaxError: Unexpected token import
正如你所看到的,它能够find文件foo.js,但是它没有在es6中运行节点模块。 我怎样才能使Babel传输基本代码以及它试图导入的节点模块?
你有一个文件.babelrc这个内容?
{ "presets": ["es2015"], "plugins": [] }
你可以在这里查看一个例子: https : //github.com/Talento90/ima-up
节点模块应该与源代码分开编译。 如果您使用的是外部库,则应该有一个包含编译代码的目录。 如果你正在编写你自己的,你需要使用npm link
并单独编译它。
如果节点模块已经有一个传输的目录(如dist
),那么可以尝试将传输的代码导入到节点模块中:
import foo from 'bar/dist/foo';
- 最简单的方法来尝试`import`ES6
- 为什么Visual Studio代码添加导致我的nodejs程序中断的import语句?
- TypeScript:我可以导入一个文件夹而不必写一个index.ts文件吗?
- 使用cbdocloader将JSON文件导入到Couchbase
- 当你在Javascript中“从someModule导入someModuleName”会发生什么?
- 在Buster.jstesting中导入其他.js文件
- 错误TS2307:找不到模块'bluebird'
- couchdb – 导入json文件
- 如何解决require(“../../../../../../../”)挫折在NodeJS中?