问题标签 [browserify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1872 浏览

javascript - 如何在browserify上使用jquery、three.js、processing.js等浏览器库?

是否可以在 browserify 上使用 jquery.js、processing.js 和 three.js 等库,这样我就可以完全停止使用 HTML 来要求我的客户端库?

0 投票
4 回答
32138 浏览

javascript - Browserify:如果需要,使用 module.exports,否则暴露全局

我正在考虑为我的一些项目采用browserify,但想确保其他人如果想使用(捆绑的)代码就不必使用browserify。显而易见的方法是module.exports通过window.全局和全局公开模块导出。但是,我宁愿不要污染那些正在require编写脚本的人的全局命名空间。

是否可以检测脚本是否正在被required?如果是,那么我可以执行以下操作:

请注意,无论如何,这将预先捆绑,因此var mymodule不会暴露全局。此外,目前我正在使用显示模块模式,但愿意切换到更适合 browserify 的东西。

使模块既require能干又<script src=能干的最好方法是什么?在这两种情况下最好只公开一个全局变量吗?

0 投票
6 回答
18329 浏览

javascript - Node.js browserify 慢:没有办法缓存大库吗?

我正在创建一个需要使用 browserify 的大型库(例如 jquery 和 three.js)的文件。编译过程需要几秒钟,可能是因为它正在为我所做的每个小改动重新编译所有库。有没有办法加快速度?

0 投票
2 回答
217 浏览

linux - 在 linux 上,如何在命令的输出周围包装文本并将其保存到文件中?

browserify my_file.js返回一个流,其中包含将 my_file 转换为浏览器的结果。有没有办法将“”读者包装在该输出周围?例如:echo "<html>" > browserify my_file.js > "</html>" > bundle.js- 或类似的东西。

0 投票
5 回答
27768 浏览

html - Browserify with require('fs')

I was trying to use browserify on a file that uses the fs object. When I browserify it, the call to require('fs') doesn't get transformed and require returns {}.

Is there any workaround for this? I've seen some suggestions on stackoverlow and elsewhere, but none seem to be fully realized.

I actually hoped to create a google web packaged app using browserify for a class I teach.

Thanks in advance.

0 投票
1 回答
388 浏览

javascript - How to change modules name (to a more friendly one) after browserifying?

I am having no problem with browserification, by the way my module is super simple. Like this:

So I use the command browserify -r ./sum | uglifyjs -c -m --output sum.min.js and everything is ok.

If I copy paste the results in chromes console, the only way I can retrieve the sum module is by doing var sum = require("./sum") which I believe is not that friedly.

I would be happy if I could just var sum = require("sum") (without the './' part).

Is it possible? I cant seem to find anything on browserify docs.

0 投票
1 回答
2679 浏览

javascript - browserify 如何让 Node.js 模块在浏览器中工作?

我真的无法理解背后的一些工作browserify。使用纯 JavaScript 模块时,将其转换为浏览器代码似乎“容易”,即使有很多依赖项。

browserify做的更多:

许多不做 IO 的 npm 模块在被浏览器化后才可以工作。其他人需要更多的工作。

许多节点内置模块已被包装以在浏览器中工作,但仅当您明确require()或使用它们的功能时。

当您 require() 任何这些模块时,您将获得一个特定于浏览器的 shim。

然后再次:

  • process.nextTick()、__dirname 和 __filename node-isms 工作
  • 获取节点核心库事件、流、路径、url、assert、buffer、util、querystring、http、vm 和 crypto 的浏览器版本(当您需要()它们时)

所以...... process.nextTick()__dirname在浏览器里面......甚至http?这对我来说没有意义......__dirname应该如何在浏览器中工作?

0 投票
1 回答
1260 浏览

browserify - browserify 可以解决方法中的要求调用吗

我有

带有插件系统的软件包。每个插件都是一个包 可以通过 all 方法加载插件use并将插件导出作为参数传递:

我想要

如果参数use是字符串use应该需要模块。

问题

browserify 可以解决这种用法require吗?

我不确定 browserify 是否只是reqire在顶级 levl 中查找调用,或者是否实际评估代码。

0 投票
1 回答
1319 浏览

backbone.js - Backbone.Marionette - Grunt Browserify - “要求未定义”

我正在使用grunt-browserify并特别遇到两个问题。使用以下配置选项,任务已启动并成功运行。该变量jsFilesToConcat代表 Backbone.js + Marionette.js 应用程序的所有 javascript 文件、主应用程序定义、前端实用程序资产(例如 Bootstrap 插件)以及与项目关联的所有 JS。这是错误的方法吗?当时的想法是一次加载整个 250k JS 应用程序(及其所有依赖项)。

我想提供免责声明,这对我来说是新领域,所以我认为我的预期用例可用于插件已经提供的选项,但我对两个错误感到困惑:

1) Backbone not defined- 这意味着脚本实际上正在加载,但是,当我在 Chrome 开发工具中检查调用堆栈时,它只显示匿名自调用函数。所以我不清楚如何将 Backbone 对象传递给 Marionette 以便在加载时扩展它。

2) require is not defined- 在我声明的那一行出现错误var SampleApp = require('SampleApp')。我是否需要在我的 grunt 配置或 node.js server.js 配置中做一些特别的事情来公开该require功能?

3) javascript 是否在自身内部异步执行,这部分是不是我没有正确处理的 browserify 预期行为?我认为由于我将很多 JS 实用程序包装在一个全局包装器中以保护命名空间,这就是某些功能不可用的原因,但我不清楚为什么这会影响require.

然后在index.html我的单页 Marionette 应用程序中,我有。

0 投票
2 回答
2370 浏览

node.js - 压缩 node_modules 以进行客户端部署

我正在使用 Node.js 在 JavaScript 中实现客户端应用程序。因为我将在多台机器上部署软件,所以我想最小化我分发的包的大小。特别是,我想从 node_modules 中删除任何不必要的文件。

对于初学者来说,这意味着对依赖树进行重复数据删除和修剪,这npm对我来说是可行的。但我还想删除所有package.json文件和(尤其是)部署不需要的任何其他文件。在我使用的许多包中,有大量的测试、文件的多个版本(缩小、浏览器等)等等。我只需要正在运行的应用程序实际使用的 JavaScript 文件。否则,我将分发几个 100Kb 的文件,这些文件实际上并没有使用。

我知道,node-browserify但我的应用程序将在 CommonJS 环境中运行,而不是浏览器,所以我想将模块分开并使用require.

我正在考虑编写一个 Grunt 插件,该插件使用 遍历依赖关系树required,提取运行时所需的 JavaScript 文件并将它们写入树结构,以便可以使用加载它们require(只需直接加载模块而不需要 a package.json)。但我想确保在我处理它之前没有人为我做过这件事。