浏览器化文件的顺序

时间:2015-01-01 20:14:30

标签: browserify

我正在阅读Patrick Mulder的使用Backbone.js的完整堆栈Web开发,他介绍了browserify的使用。

他解释说我们必须编写一个js文件/app/main.js,然后将它浏览到static / bundle.js,我没有捆绑它的问题。但是我在书中的例子后发现了一些问题,我调试的第一件事就是比较我的the author working bundle.js。好吧,即使捆绑的main.js和其他js相同,bundle.js也不相等。所以我想这是我问题的起点。

我的节点版本是:v0.10.33,我的browserify版本是:8.0.1

正如书中所说,这是我用来从main.js生成bundle.js的命令:

browserify -r ./app/main.js:app > static/bundle.js

开始一些差异:

  1. 作者main.js位于bundle.js
  2. 之上
  3. 我的main.js位于bundle.js
  4. 的底部
  5. 作者的第一行bundle.js以(function e(t,n,r)....
  6. 开头
  7. 我的第一行以require=(function e(t,n,r)....
  8. 开头 来自git repository的

    main.js source code link 。它和我一样精确。

    main.js的代码是:

    var Backbone = require('backbone');
    var $ = require('jquery-untouched');
    Backbone.$ = $;
    var MoviesRouter = require('routers/movies');
    $(document).ready(function() {
      console.log('init');
      var router = new MoviesRouter({el: $('#movies') });
      Backbone.history.start({
        pushState: true,
        root: '/'
      });
    });
    

    正如本书所说,那段代码与我正在使用的完全相同 这是jsfiddle我粘贴了我的bundle.js

    中的代码

1 个答案:

答案 0 :(得分:1)

您遇到的实际问题是什么?不要担心捆绑包中的内容的细节,除非它没有按照应有的方式执行。 #1和#2如何影响您对捆绑的使用?

#3和#4通过使用-r--require)标志来解释。如果您这样做,您的捆绑包将不会以require=...开头:

browserify ./app/main.js -o static/bundle.js

您是否尝试在外部公开./app/main.js