如何使用browserify串联目录中的所有文件?

问题描述

我有一个directory,其中包含各种JavaScript文件。我想使用browserify从其中创建一个文件

我尝试了browserify bpmn-viewer/*.js --outfile browserify-output.js,但是遇到了以下错误

Error: Parsing file /.../bpmn-viewer/moddle.js: Unexpected token (1:26)
    at Deps.parseDeps (/usr/lib/node_modules/browserify/node_modules/module-deps/index.js:519:15)
    at getDeps (/usr/lib/node_modules/browserify/node_modules/module-deps/index.js:447:44)
    at /usr/lib/node_modules/browserify/node_modules/module-deps/index.js:430:38
    at ConcatStream.<anonymous> (/usr/lib/node_modules/browserify/node_modules/concat-stream/index.js:37:43)
    at ConcatStream.emit (events.js:214:15)
    at finishMaybe (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:630:14)
    at endWritable (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:638:3)
    at ConcatStream.Writable.end (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:594:41)
    at DuplexWrapper.onend (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_readable.js:577:10)
    at Object.onceWrapper (events.js:298:28)

如何获得我的命令(browserify bpmn-viewer/*.js --outfile browserify-output.js)以获得正确的结果?

更新1:moddle.js更改为

module.exports=require(28);

var rts = require('./lib/moddle');

module.exports.types = require('./lib/types');

module.exports.ns = require('./lib/ns');

我收到不同的消息:

Error: Parsing file browserify-question/bpmn-viewer/object-refs.js: Unexpected token (1:27)
    at Deps.parseDeps (/usr/lib/node_modules/browserify/node_modules/module-deps/index.js:519:15)
    at getDeps (/usr/lib/node_modules/browserify/node_modules/module-deps/index.js:447:44)
    at /usr/lib/node_modules/browserify/node_modules/module-deps/index.js:430:38
    at ConcatStream.<anonymous> (/usr/lib/node_modules/browserify/node_modules/concat-stream/index.js:37:43)
    at ConcatStream.emit (events.js:214:15)
    at finishMaybe (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:630:14)
    at endWritable (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:638:3)
    at ConcatStream.Writable.end (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:594:41)
    at DuplexWrapper.onend (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_readable.js:577:10)
    at Object.onceWrapper (events.js:298:28)

object-refs.js文件如下:

module.exports=require(84)./lib/refs');

module.exports.Collection = require('./lib/collection');

更新2:object-refs.js修改

module.exports=require('./lib/refs');

module.exports.Collection = require('./lib/collection');

我收到此错误

SyntaxError: Unexpected token (22:0) while parsing /home/[...]/[...]/Development/Repositories/git/browserify-question/bpmn-viewer/jquery.js while parsing file: /home/[...]/[...]/Development/Repositories/git/browserify-question/bpmn-viewer/jquery.js
    at DestroyableTransform.end [as _flush] (/usr/lib/node_modules/browserify/node_modules/insert-module-globals/index.js:114:21)
    at DestroyableTransform.prefinish (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_transform.js:138:10)
    at DestroyableTransform.emit (events.js:209:13)
    at prefinish (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:619:14)
    at finishMaybe (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:627:5)
    at endWritable (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:638:3)
    at DestroyableTransform.Writable.end (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_writable.js:594:41)
    at DestroyableTransform.onend (/usr/lib/node_modules/browserify/node_modules/readable-stream/lib/_stream_readable.js:577:10)
    at Object.onceWrapper (events.js:298:28)
    at DestroyableTransform.emit (events.js:214:15)

有问题的文件jquery.js。根据错误消息,我认为错误位于第22行。

想法在第19行强调了一个潜在问题:

Screenshot

以下是jquery.js的第1至22行:

module.exports=require('QRCzyp');if ( typeof module === "object" && typeof module.exports === "object" ) {
        // For Commonjs and Commonjs-like environments where a proper window is present,// execute the factory and get jQuery
        // For environments that do not inherently posses a window with a document
        // (such as Node.js),expose a jQuery-making factory as module.exports
        // This accentuates the need for the creation of a real window
        // e.g. var jQuery = require("jquery")(window);
        // See ticket #14549 for more info
        module.exports = global.document ?
            factory( global,true ) :
            function( w ) {
                if ( !w.document ) {
                    throw new Error( "jQuery requires a window with a document" );
                }
                return factory( w );
            };
    } else {
        factory( global );
    }

// Pass this if window is not defined yet
}(typeof window !== "undefined" ? window : this,function( window,noGlobal ) {

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)