【问题标题】:Using Grunt-babelify-browserify without importing node modules在不导入节点模块的情况下使用 Grunt-babelify-browserify
【发布时间】:2016-07-12 09:03:02
【问题描述】:

我正在使用 webdriver.io 编写自动化测试。我正在使用 grunt/babelify/browserify 以便我可以在 ES6 中编写测试。我的脚本中需要一些节点模块。我希望能够不将这些节点文件编译到我的分发脚本中,而只是按原样打印出 require 语句,因为我仍在运行脚本服务器端。换句话说,有没有办法用browserify“按原样”继承代码?以下是我需要的模块:

required libraries
var webdriverio = require('webdriverio');
var chai = require("chai");
chai.config.includeStack = true; // prints out full call stack
var expect = chai.expect;
var chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);

这是我的 grunt 文件:

module.exports = function (grunt) {
grunt.initConfig({
  browserify: {
     dist: {
        options: {
           transform: [
              ["babelify", {
                 loose: "all"
              }]
           ]
        },
        files: {
           // if the source file has an extension of es6 then
           // we change the name of the source file accordingly.
           // The result file's extension is always .js
           "./dist/module.js": ["./modules/*"]
        }
     }
  },
  watch: {
     scripts: {
        files: ["./modules/*/*.js"],
        tasks: ["browserify"]
     }
  }
 });

grunt.loadNpmTasks("grunt-browserify");
grunt.loadNpmTasks("grunt-contrib-watch");

grunt.registerTask("watch", ["watch"]);
grunt.registerTask("build", ["browserify"]);
};

【问题讨论】:

    标签: node.js gruntjs npm browserify grunt-browserify


    【解决方案1】:

    好吧,如果你只是想要 ES6 到 ES5 的功能而不将文件组合成一个包,最直接的方法是简单地单独使用 Babel 而不是 Babelify 和 Browserify。

    Babel 是 Browserify 的 Babelify 转换背后的工具。

    不过,我应该注意到,ES6 的许多特性都是already supported by node.js,因此您可能只需要在没有 Babel 或 Browserify 的情况下运行您的脚本进行本地测试。

    【讨论】:

    • 我确实想合并文件,但不想合并节点模块。有没有办法告诉 browserify 忽略节点 require 语句而不是 es6 导入/导出语句?
    • 好吧,我觉得我想做的有点傻,因为 node 确实支持大多数 es6 功能。我现在只是要跳过繁重的任务。谢谢!
    • @mags 没问题!但作为一个想法,如果您仍然想将所有文件组合在一起,您可以 cat 将它们组合在一起,然后使用 grep 删除需要的行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 2013-08-22
    • 2014-11-14
    相关资源
    最近更新 更多