browserify with noparse = true - 它是如何工作的

时间:2015-02-16 09:13:09

标签: browserify

我想问一下,将 noparse 选项设置为 true (或者browserify如何工作)时使用browserify的目的是什么。例如:

  • 如果browserify根本不解析文件,是否意味着它找不到 require 语句?
  • 如果找不到 require 语句,那么如何强制代码加载模块?例如,我有 toastr &的 jQuery的即可。 toastr 需要 jQuery 。但是当我使用browserify创建一个 noparse 设置为 true 的捆绑包时,我向这个捆绑包添加了两个文件:

var bundler = browserify(); bundler.add('jquery.js'); bundler.add('toastr.js'); bundler.bundle();

然后我得到错误,它找不到jQuery模块。

1 个答案:

答案 0 :(得分:2)

通常,当您使用browserify捆绑文件时,它会解析文件以进行require()调用,以便它可以构建依赖关系图并捆绑所需的文件。 noParse选项的目的是在您不需要或不需要时跳过该解析。例如,如果您正在捆绑像jQuery这样的大型库文件,并且您知道它不包含任何需要处理的require()调用,那么如果您noParse该文件,它将节省捆绑时间。此外,在制作新捆绑包时,目前很难require()以前浏览过的捆绑包。在这种情况下,您有时可以通过为先前浏览过的软件包设置noParse来解决问题。

  

如果browserify根本不解析文件,是否意味着它不会找到require语句?