我有一个演示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也解决了这个问题。
答案 0 :(得分:0)
问题可能是.coffee
扩展。您需要指示browserify查找该扩展名。见opts.extensions
。我不知道你是怎么用gulp-browserify做的那样,但最好还是不要使用它(如果这对你很重要,它会被gulp列入黑名单,我相信它没有维护)。