2017-03-03 37 views
0

有没有什么方法可以预编译riot.js标记,其中包含ES6导入语法,如下所示?预编译暴乱标记,其中包括ES6'导入'

<riot-tag> 
    <script> 
    import Foo from './foo' 
    new Foo(); 
    </script> 
</riot-tag> 

我使用gulp和gulp-riot来构建标签。

gulp.task('tags',() => { 
    return gulp.src([`${srcDir}/*`]) 
    .pipe($.riot({ 
     type: 'es6' 
    })) 
    .pipe(gulp.dest(`${destDir}/`)); 
}); 
+0

取决于您的构建如何工作。你使用webpack或类似的东西? –

+0

@HimmetAvsar谢谢。相反,我使用吞咽和吞咽暴动。 – amksd

回答

0

你将需要大量的代码将你的ES2015代码转化为暴乱编译器可以理解的东西。

开始通过添加ES2015编译你应用程序:

npm install babel-core babel-preset-es2015 --save-dev 

添加您.babelrc文件,告诉巴贝尔用什么预设:

{ 
    "presets": ["es2015"] 
} 

然后一饮而尽应该能够处理它确定从那里:

import gulp from 'gulp'; 
import riot from 'gulp-riot'; 

gulp.task('tags',() => { 
    return gulp.src([`${srcDir}/*`]) 
    .pipe(riot({ 
     type: 'es6' 
    })) 
    .pipe(gulp.dest(`${destDir}/`)); 
}); 

希望这有助于!

+0

谢谢。我遇到的问题不是如何编译包含ES2015的暴乱标签,而是如何浏览它。在你浏览包含'导入'语句的一些es6代码的情况下,你可以用babelify变换来浏览它。在我的情况下,源文件不是'.js',而是'.tag',所以browserify不起作用。我试图浏览由gulp-riot制作的js文件,但它不起作用。 – amksd

+1

查看[riotify](https://github.com/riot/riotify)在browserify中编译标签。 – NukaPunk