【问题标题】:How to run gulp with --harmony flag?如何使用 --harmony 标志运行 gulp?
【发布时间】:2015-04-16 13:45:44
【问题描述】:

同样可以在 node.js 中使用--harmony 标志来实现,如下所示:

node --harmony app.js

所以它将添加对 EcmaScript6 的支持。

如何使用和谐标志运行 gulp 命令?

【问题讨论】:

标签: node.js gulp ecmascript-6 ecmascript-harmony


【解决方案1】:

更简单的解决方案是使用 harmonize :https://github.com/dcodeIO/node-harmonize

只需安装 harmonize,然后像这样要求: require("harmonize")();

【讨论】:

    【解决方案2】:

    您可以通过以下方式做到这一点:

    alias gulp='node --harmony `which gulp`'
    

    将它放在~/.bashrc 文件中,gulp 将始终以和谐模式运行。

    如果您是 docker 用户并希望在容器内使用 gulp 和 Harmony,您可以通过以下方式进行:

    docker run -ti \
        --name container \
        nodejs-image-with-gulp-pre-installed \
        bash -ci 'gulp task'
    

    关键是使用-i 标志和bash,这样你的别名就会被成功加载。否则它将在没有和谐支持的情况下自行运行 gulp。

    【讨论】:

    • 你不能只用同样的方式命名别名,你尝试解析的命令 (which gulp) 被命名。这应该以错误告终,因为which gulp 将解析为gulp: aliased to node --harmony `which gulp`
    • @naeramarth7 感谢您的回复。是的,我也想过这一点,但实际上which gulp 即使在别名之后,也会返回到 gulp 二进制文件的实际路径。你可以自己检查一下,效果很好。
    • 事先检查过 - 在 OS X 10.10 上的 zsh 中不起作用(除了别名行中缺少的引号)。给我Error: Cannot find module '<path to current folder>/gulp',因为它试图运行这个命令:node --harmony gulp: aliased to node --harmony `which gulp`
    • 它对我来说没有问题 - 无论是gulp any-task 命令和香草gulp。我在 64 位 Linux Mint 17.1 上的 GNOME 终端 3.6.2 中运行它。
    【解决方案3】:

    跟进 FelikZ 的解决方案:

    npm 运行

    您可以更新您的 package.json 并将您的 gulp 命令添加到 scripts 部分:

    {
      "scripts": {
        "start": "node --harmony `which gulp` start",
        "build": "node --harmony `which gulp` build",
        ...
      }
    }
    

    然后可以使用npm run startnpm run build 等调用这些命令。

    如果你想通过 npm 调用你所有的 gulp 命令(不单独定义它们)你可以这样做:

    {
      "scripts": {
        "gulp": "node --harmony `which gulp`"
      }
    }
    

    要运行gulp start,您可以调用npm run -- start 等。

    替代方案:io.js

    如果你想默认使用--harmony,你也可以看看io.js:

    https://iojs.org/en/es6.html

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 1970-01-01
      • 2014-12-20
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2020-07-24
      相关资源
      最近更新 更多