浏览文件顺序
Browserify order of files
我正在阅读 Patrick Mulder 的 Full Stack Web Development with Backbone.js,他介绍了 browserify 的使用。
他解释说我们必须编写一个 js 文件 /app/main.js,然后将其浏览器化为 static/bundle.js,我在捆绑它时没有遇到任何问题。但是我按照书中的例子发现了一些问题,我调试的第一件事就是将 the author working bundle.js 与我的进行比较。好吧,即使捆绑的 main.js 和其他 js 相同,bundle.js 也不相等。所以我想这是我问题的起点。
我的node版本是:v0.10.33,我的browserify版本是:8.0.1
正如书上所说,这是我用来从 main.js 生成 bundle.js 的命令:
browserify -r ./app/main.js:app > static/bundle.js
开始一些差异:
- 作者 main.js 位于 bundle.js 之上
- 我的main.js放在bundle.js
的底部
- 作者的第一行bundle.js以
(function e(t,n,r)....
开头
- 我的第一行以
require=(function e(t,n,r)....
开头
main.js source code link 来自 git 存储库。和我一样准确。
来自 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 和 #2 如何影响您对捆绑包的使用?
#3 和#4 通过使用 -r
(--require
) 标志来解释。如果这样做,您的包将不会以 require=...
:
开头
browserify ./app/main.js -o static/bundle.js
您是否试图向外部公开 ./app/main.js
?
我正在阅读 Patrick Mulder 的 Full Stack Web Development with Backbone.js,他介绍了 browserify 的使用。
他解释说我们必须编写一个 js 文件 /app/main.js,然后将其浏览器化为 static/bundle.js,我在捆绑它时没有遇到任何问题。但是我按照书中的例子发现了一些问题,我调试的第一件事就是将 the author working bundle.js 与我的进行比较。好吧,即使捆绑的 main.js 和其他 js 相同,bundle.js 也不相等。所以我想这是我问题的起点。
我的node版本是:v0.10.33,我的browserify版本是:8.0.1
正如书上所说,这是我用来从 main.js 生成 bundle.js 的命令:
browserify -r ./app/main.js:app > static/bundle.js
开始一些差异:
- 作者 main.js 位于 bundle.js 之上
- 我的main.js放在bundle.js 的底部
- 作者的第一行bundle.js以
(function e(t,n,r)....
开头
- 我的第一行以
require=(function e(t,n,r)....
开头
main.js source code link 来自 git 存储库。和我一样准确。
来自 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 和 #2 如何影响您对捆绑包的使用?
#3 和#4 通过使用 -r
(--require
) 标志来解释。如果这样做,您的包将不会以 require=...
:
browserify ./app/main.js -o static/bundle.js
您是否试图向外部公开 ./app/main.js
?