在coffeescript中使用es6模块



es6模块应该在coffeescript中工作(请参阅https://coffeescript.org/#modules),但即使是一个非常简单的项目,它也不适合我

  1. 创建了一个新目录

  2. 在中运行"npm init-y">

  3. 添加了密钥";类型":"模块";在我的包.json

  4. 创建了2个文件:index.coffee和utils.cffee

    从"utils.coffee"导入{myprint}
    myprint("你好,世界!"(

    export-myprint=(str(->
    console.log(str(

当我尝试执行index.coffee时(通过'coffee index.coffee'-我在Windows和PowerShell上都尝试过git的bash shell(,我得到以下错误消息:

(节点:1856(警告:要加载ES模块,请设置";类型":"模块";在package.json中,或者使用.mjs扩展名。

以及更高版本:

SyntaxError:无法在模块之外使用导入语句

据我所知,这一切都是正确的。Coffeescapet正确地转换导入/导出语句,但不提供运行它们的环境。

来自文件:

请注意,CoffeeScript编译器不解析模块;在CoffeeScript中编写导入或导出语句将在生成的输出中生成导入或导出声明。您有责任将此ES2015语法转换为可在目标运行时使用的代码。

您将无法通过coffeenode --require coffeescript/register运行此代码。我相信你将不得不通过node转换你的代码并运行生成的JS

最新更新