2017-06-14 32 views
0

以前我一直在使用按照我的JS切入点:如何在ES6中注册coffeescript transpiler?

require('coffeescript/register'); 
module.exports = require('./entry.coffee'); 

这样做有什么相应的ES6语法? 以下似乎没有注册anyhing。

import 'coffeescript/register'; 
export * from 'entry.coffee'; 

错误是: Cannot find module 'entry.coffee' 测试上的CoffeeScript 2.0β2。

更新: 更改路径相对:

import 'coffeescript/register'; 
export * from './entry.coffee'; 

发现entry.coffee,而是将其视为JS。因此,Coffeescript不是由transpiler处理的。

+1

Um,没有JS运行时默认实现模块本身(最* *最近版本* *有它在一个标志后面)。那么你如何编译ES6?如果您尝试直接运行它,该语法应该会引发错误。 –

+0

我正在使用RollupJS,它似乎处理ES6导入就好了它的rollup.config.js – metalim

+2

这是本质上应该在你的问题中的一个重要信息。您可能需要修复rollup.config中的路径。 Coffeescript可能是一个红鲱鱼在这里。 –

回答

0

如果您将CoffeeScript作为绑定过程的一部分进行传输(如果您使用的是Rollup,则需要使用此脚本),则不需要使用coffeescript/register - 这只是一种使Node运行CoffeeScript文件的方法而不必先转换它们。

相反,请尝试将rollup-plugin-coffee-script添加到您的rollup.config.js文件。

+0

已经为项目代码使用[rollup-plugin-coffee2](https://github.com/zeekay/rollup-plugin-coffee2)。 事情是:我试图保持配置本身在Coffeescript文件中:rollup.config.coffee 因此需要在运行时添加Coffeescript,这与CommonJS require()一起运行良好。 – metalim

+0

也许你可以创建一个如下所示的rollup.config.js: 'require('coffeescript/register'); module.exports = require('./ rollup.config.coffee');' –