使用Browserify找不到本地相对需要的修复模块

时间:2015-07-07 23:23:07

标签: javascript coffeescript gulp browserify commonjs

我有一个演示NPM框架,结构如下:

./ SRC / child.coffee

module.exports = class Child

./ SRC / parent.coffee

Child = require "./child"
module.exports = class Parent

./ gulp.js

require('coffee-script/register');
require('./gulpfile.coffee');

./ gulp.coffee

gulp = require "gulp"

util = require "gulp-util"
coffee = require "gulp-coffee"
browserify = require "gulp-browserify"

gulp.task "build", ->
  gulp.src("./src/**/*.coffee")
    .pipe(coffee().on("error", util.log))
    .pipe(gulp.dest("./lib/"))

如果我运行gulp build,一切都会很有效。但是,我尝试通过在构建任务中添加以下内容来引入Browserify:

gulp.task "build", ->
  gulp.src("./src/**/*.coffee")
    .pipe(coffee().on("error", util.log))
    .pipe(browserify())
    .pipe(gulp.dest("./lib/"))

在框架中,相对要求失败:

  

events.js:85         扔掉//未处理的错误'事件               ^错误:模块" ./ child"找不到" /Users/kevin/Desktop/demo/src/fake_d1543b04.js"在notFound   (/Users/kevin/Desktop/demo/node_modules/gulp-browserify/node_modules/browserify/index.js:803:15)   在   /Users/kevin/Desktop/demo/node_modules/gulp-browserify/node_modules/browserify/index.js:754:23   在   /Users/kevin/Desktop/demo/node_modules/gulp-browserify/node_modules/browserify/node_modules/browser-resolve/index.js:185:24   在   /Users/kevin/Desktop/demo/node_modules/gulp-browserify/node_modules/browserify/node_modules/resolve/lib/async.js:36:22   在负载   (/Users/kevin/Desktop/demo/node_modules/gulp-browserify/node_modules/browserify/node_modules/resolve/lib/async.js:54:43)   在   /Users/kevin/Desktop/demo/node_modules/gulp-browserify/node_modules/browserify/node_modules/resolve/lib/async.js:60:22   在   /Users/kevin/Desktop/demo/node_modules/gulp-browserify/node_modules/browserify/node_modules/resolve/lib/async.js:16:47   在FSReqWrap.oncomplete(fs.js:95:15)

如何在框架内正确设置相对需要并使其与gulp和coffeescript一起使用?从package.json(即Lodash = require "lodash")更改需要的依赖项允许gulp构建。此外,从coffeescript更改为常规javascript也解决了这个问题。

1 个答案:

答案 0 :(得分:0)

问题可能是.coffee扩展。您需要指示browserify查找该扩展名。见opts.extensions。我不知道你是怎么用gulp-browserify做的那样,但最好还是不要使用它(如果这对你很重要,它会被gulp列入黑名单,我相信它没有维护)。