当前位置: 首页 > 知识库问答 >
问题:

在一个文件夹中使用咕噜来查看多个文件

瞿兴朝
2023-03-14

我把这个要点用在我的文档中:https://gist.github.com/httpNick/708219f5002b6a9dc578

它对ES6 Babelfiying非常有效,但我想查看我的系统中的所有文件/public/js文件夹,并将生成版本输出到生成文件夹。有没有办法修改这个gulpfile来查看文件夹中的所有js文件?

从要点复制粘贴:

var gulp = require('gulp')

var browserify = require('browserify')
var watchify = require('watchify')
var babelify = require('babelify')

var source = require('vinyl-source-stream')
var buffer = require('vinyl-buffer')
var merge = require('utils-merge')

var rename = require('gulp-rename')
var uglify = require('gulp-uglify')
var sourcemaps = require('gulp-sourcemaps')


/* nicer browserify errors */
var gutil = require('gulp-util')
var chalk = require('chalk')

function map_error(err) {
  if (err.fileName) {
    // regular error
    gutil.log(chalk.red(err.name)
      + ': '
      + chalk.yellow(err.fileName.replace(__dirname + '/public/js/', ''))
      + ': '
      + 'Line '
      + chalk.magenta(err.lineNumber)
      + ' & '
      + 'Column '
      + chalk.magenta(err.columnNumber || err.column)
      + ': '
      + chalk.blue(err.description))
  } else {
    // browserify error..
    gutil.log(chalk.red(err.name)
      + ': '
      + chalk.yellow(err.message))
  }

  this.end()
}
/* */

gulp.task('watchify', function () {
  var args = merge(watchify.args, { debug: true })
  var bundler = watchify(browserify('./public/js/index.js', args)).transform(babelify, {presets: ["es2015", "react"]})
  bundle_js(bundler)

  bundler.on('update', function () {
    bundle_js(bundler)
  })
})

function bundle_js(bundler) {
  return bundler.bundle()
    .on('error', map_error)
    .pipe(source('index.js'))
    .pipe(buffer())
    .pipe(gulp.dest('public/dist'))
    .pipe(rename('index.min.js'))
    .pipe(sourcemaps.init({ loadMaps: true }))
      // capture sourcemaps from transforms
      .pipe(uglify())
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest('public/dist'))
}

// Without watchify
gulp.task('browserify', function () {
  var bundler = browserify('./public/js/index.js', { debug: true }).transform(babelify, {presets: ["es2015", "react"]})

  return bundle_js(bundler)
})

// Without sourcemaps
gulp.task('browserify-production', function () {
  var bundler = browserify('./src/js/app.js').transform(babelify, {presets: ["es2015", "react"]})

  return bundler.bundle()
    .on('error', map_error)
    .pipe(source('index.js'))
    .pipe(buffer())
    .pipe(rename('index.min.js'))
    .pipe(uglify())
    .pipe(gulp.dest('public/dist'))
})

共有1个答案

班昱
2023-03-14

Watchify将监视通过您指定的入口点(在您的示例中为index.js)传递到browserify命令的所有文件。因此,通过索引所需的一切。js文件应自动监视。

您的watchify命令似乎不正确。您正在将watchify参数传递给browserify函数,而不是您应该传递的watchify函数。

这是我的gupfile的相关部分,你的结构有点不同,但是你会在watchchify命令中得到要点:

.task('js', ['clean'], function() {
    var b = browserify(packageJson.paths.app);

    var w = watchify(b, watchify.args); // Pass watchify.args here vs. in browserify fn.

    w = w 
      .transform(babelify)
      .transform(browserifyShim);

    w.on('update', rebundle);
    function rebundle() {
        // my rebundle function, pretty much same as your `bundle_js`
    }
    return rebundle();
})
 类似资料:
  • //我得到的错误是java。尼奥。文件FileAlreadyExistsException所以据我所知,它试图将文件保存到确切的位置,而不是保存在文件中,如果我将目标地址改为“垃圾/垃圾”,我需要以这种方式保存几个文本文件。它将在那里保存一个名为垃圾的文件。txt。但在for-each的下一个循环中,它会抛出一个“已经存在”的异常。。。 有人能解释一下我如何从src文件夹将所有txt文件保存到该文

  • 看起来 grpc 先决条件是 java 7 或更高版本。 安装grpc时出现异常。Java . lang . unsupportedclassversionerror:com/Google/proto buf/grad le/proto buf plugin:不支持的major.minor版本51.0 我有java 6在本地运行。可能是grpc运行java 6的一种方式?

  • 我是java新手,我在VSCODE上编码。我创建2.java文件,如下图所示: 这些是每个文件: Main.java:

  • 我正在我的网络空间上安装Google API PHP客户端(2.1.0)并遵循本教程。问题是当我转到时,我有一个PHP错误: 致命错误:未捕获异常“GuzzleHttp\Ring\exception\ConnectException”,消息为“cURL error 6:请参阅”http://curl.haxx.se/libcurl/c/libcurl-errors.html'in/reportin

  • 为了说明这一点,我正在创建一个treeview,它将在用户创建一个文件夹后实例化自己,并且所述文件夹将被添加为TreeItem。 我现在有这个: 多谢了。

  • 我正在尝试用c#编写程序,它正在监视多个文件夹。若在任何关注的文件夹中添加了文件,程序应在定义的路径中创建副本。我的问题是当我创建文件时,程序在错误的文件夹中创建副本 e、 g.如果我将文件添加到 代码如下: 有人能帮我吗?我想这是因为foreach事件,但我找不到解决办法。谢谢你的来信