【问题标题】:How to use ES6 features inside of my nodejs/expressjs app using Gulp or Webpack如何使用 Gulp 或 Webpack 在我的 nodejs/expressjs 应用程序中使用 ES6 功能
【发布时间】:2017-01-11 08:40:59
【问题描述】:

我想在我的 nodejs/expressjs 应用程序中使用 ES6 功能。目前我正在使用 Gulp 编译我的 js 并设置其他东西,比如实时重新加载。

  1. 为了将 es6 代码编译为标准 js,我需要在现有的 gulp 文件中添加什么。

  2. 我看到 webpack 使用了很多,我怎么能用 webpack 代替我用 gulp 做的所有事情。

```

var gulp = require('gulp');
var nodemon = require('gulp-nodemon');
var notify = require('gulp-notify');
var livereload = require('gulp-livereload');

gulp.task('default', function() {

    livereload.listen();

    nodemon({

        script: 'index.js',
        ext: 'js'

    }).on('restart', function() {

        gulp.src('index.js')
            .pipe(livereload())
            .pipe(notify('Reloading page, please wait...'));
    });

});

```

谢谢。

【问题讨论】:

  • 为什么不直接切换到 nodejs v.6.x.x 大部分旧代码保持不变,只是做了一些小修复
  • 我可以在那个版本的 nodejs 中使用导入吗?
  • 仍然没有。怀疑不会在nodejs上实现,因为require,export,module.export功能太成熟了
  • Gulp 和 Webpack 是橙子和苹果。可以在 Webpack 中实现一些 Gulp 任务,但最终 Gulp+Webpack 链提供了最灵活的工作流程,请参阅github.com/shama/webpack-stream

标签: javascript node.js gulp ecmascript-6 webpack


【解决方案1】:

在 node js 6 中,你已经可以在没有编译器或其他东西的情况下使用 ES6,只需在 js 文件的开头添加“use strict”。

如果你有 node

见这篇文章:http://jsrocks.org/2016/01/configuring-babel-6-for-node-js/

ES6 模块目前处于 DRAFT 中,因此您暂时无法使用导入/导出 见https://github.com/nodejs/node-eps/blob/master/002-es6-modules.md

【讨论】:

  • 我可以在那个版本的 nodejs 中使用导入
  • 我认为导入不起作用。我在 Github 上看到他们必须做一些工作来替换 require 并且他们现在没有时间替换它。刚刚用 github 的链接编辑了我的答案
  • babel 可以帮我使用导入模块吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-04
相关资源
最近更新 更多