如何将browserify与多个document.ready()一起使用?

时间:2015-08-03 22:37:16

标签: node.js browserify

我看过很多带有一个页面的browserify示例,但没有带有倍数页面的文件(带有document.ready())。以下是一个例子。

  

page1.html

<script src="js/page1.js"></script>
  

page1.js

var $ = require("jquery");
$(function(){
  console.log("page1.js");
  //do stuff witch jquery
});
  

page2.html

<script src="js/page2.js"></script>
  

page2.js

var $ = require("jquery");
var _ = require("underscore");
$(function(){
  console.log("page2.js");
  //do stuff witch jquery and underscore
});

请注意,我需要在页面加载时为每个页面执行代码。 我知道我可以browserify page1.js -o bundle1.jsbrowserify page2.js -o bundle2.js并在我的页面中包含bundleX.js而不是pageX.js。 那么每个页面都必须这样做吗?我有10页,这似乎不对。

从我在browserify上看到的例子中,总是有入口点(通常称为main.js或app.js)。我想我应该只有一个入口点,但我不知道如何重构上面的代码。

1 个答案:

答案 0 :(得分:1)

(这是一个很难回答的问题,因为它实际上取决于你是如何设计你的代码的。我猜这就是为什么有人向你投票的。)

由于您在文档准备就绪方面有不同的想法,因此您执行此处显示的操作似乎很自然 - 每个入口点(每页)都有不同的脚本。

您应该使用像Grunt或Gulp这样的工具,而不是为您正在开发的每个捆绑包手动调用Browserify。使用其中任何一个,您都可以配置一个监视源文件的命令行任务,并在发生更改时自动为您运行Browserify。我没有为Gulp设置此项,但对于Grunt,我可以指向grunt-browserify插件。