在 repl 中导入 es6 模块
Import es6 module in repl
我写了一个 es6 模块,我用 Babel.js 转译并用 Webpack 打包。我希望能够将这个模块加载到 repl 中,以便我可以在那里使用它,所以我安装了 babel-cli
以获得 babel-node
。我看到通知说 "ES6-style module-loading may not function as expected," 所以我对此并不感到惊讶:
> import Point from './js/model/Point'
SyntaxError: repl: Modules aren't supported in the REPL
> 1 | import Point from './js/model/Point'
| ^
但我对此感到惊讶:
> var Point = require('./js/model/Point')
/Users/brianmc7/workspace/tetris-crush/js/model/Point.js:2
export default class Point {
^^^^^^
SyntaxError: Unexpected token export
什么给了?当我在 repl 中需要文件时,babel-node
不会转译文件吗?是否有 JavaScript repl 可以,或者有一些简单的解决方法? Webpack 编译我的项目很好,所以我知道没有语法错误。
事实证明,仅在 webpack.config.js
中配置 babel 对 babel-node
不起作用(回想起来很明显)。 Goliadkin 对我的问题的评论让我创建了一个 .babelrc
,它解决了我的问题。这个最小配置就是我所需要的:
{
presets: ['es2015']
}
我写了一个 es6 模块,我用 Babel.js 转译并用 Webpack 打包。我希望能够将这个模块加载到 repl 中,以便我可以在那里使用它,所以我安装了 babel-cli
以获得 babel-node
。我看到通知说 "ES6-style module-loading may not function as expected," 所以我对此并不感到惊讶:
> import Point from './js/model/Point'
SyntaxError: repl: Modules aren't supported in the REPL
> 1 | import Point from './js/model/Point'
| ^
但我对此感到惊讶:
> var Point = require('./js/model/Point')
/Users/brianmc7/workspace/tetris-crush/js/model/Point.js:2
export default class Point {
^^^^^^
SyntaxError: Unexpected token export
什么给了?当我在 repl 中需要文件时,babel-node
不会转译文件吗?是否有 JavaScript repl 可以,或者有一些简单的解决方法? Webpack 编译我的项目很好,所以我知道没有语法错误。
事实证明,仅在 webpack.config.js
中配置 babel 对 babel-node
不起作用(回想起来很明显)。 Goliadkin 对我的问题的评论让我创建了一个 .babelrc
,它解决了我的问题。这个最小配置就是我所需要的:
{
presets: ['es2015']
}