Javascript Browserify-强制bundle()在未找到模块时引发错误
我用的是大口大口的browserify。我有一个bundle()函数,如下所示:Javascript Browserify-强制bundle()在未找到模块时引发错误,javascript,node.js,gulp,browserify,commonjs,Javascript,Node.js,Gulp,Browserify,Commonjs,我用的是大口大口的browserify。我有一个bundle()函数,如下所示: function bundle(script) { return browserify( get_browserify_config(script) ) .bundle() .on('error', function(err){ notifyError('error while bundling ' + script );
function bundle(script) {
return browserify( get_browserify_config(script) )
.bundle()
.on('error', function(err){
notifyError('error while bundling ' + script );
console.log('-- error while bundling ' + script + ' --');
errorLog(err);
})
.pipe(source(script))
.on('error', errorLog)
.pipe(buffer())
.pipe(gulpIf(!isProductionBuild, sourcemaps.init()))
.pipe(uglify())
.on('error', errorLog)
.pipe(gulpIf(!isProductionBuild, sourcemaps.write('./')))
.pipe(gulp.dest(PATH_TO_SERVE_SCRIPTS))
.on('error', errorLog)
.pipe(gulp.dest(PATH_TO_TARGET_SCRIPTS))
.on('error', errorLog)
.on('end', function() {
jsLog('finished bundle of ' + script);
});
}
当我将带有有效require
依赖项的脚本传递给它时,它可以正常工作。然而,如果我有坏的依赖关系,它不会抛出任何错误
例如,如果我有一个文件“app.js”,它需要一个不存在的模块,如:
require('./xyzrandomnotexistingmodulename');
在捆绑期间,我没有收到任何错误。我刚刚在指向目标脚本的路径上得到了一个app.js
捆绑文件,它只是抱怨找不到模块:
!function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var a="function"==typeof require&&require;if(!f&&a)return a(i,!0);if(u)return u(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n?n:r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}({},{},[]);
!函数r(e,n,n,t){函数o(i,i,f,n,n,t){函数r(e,n,n,t)函数r(e,n,n,n,t){函数r(e,e,n,(e,n,n,n,n,t){若,(e,n,(e,n,n,n,n,t,t,(i,n,f)函数r,(i,f,f,(i,f,f,f,f,f,f,f,f,f)若)函数r){{{,(若)若若,(i,f,(i,f,f,f,f,f,f,(e,f,f,t,f,t,f,t)t)t)若,(e,(e,f,t)c)若,(i,f,f,(e,f,f,(i,f,f,t)t)p,(i,f,f,f,f,f,t)t)n[i].exports}for(var u=“function”==typeof require&&require,i=0;i