问题标签 [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.
javascript - 如何在browserify上使用jquery、three.js、processing.js等浏览器库?
是否可以在 browserify 上使用 jquery.js、processing.js 和 three.js 等库,这样我就可以完全停止使用 HTML 来要求我的客户端库?
javascript - Browserify:如果需要,使用 module.exports,否则暴露全局
我正在考虑为我的一些项目采用browserify,但想确保其他人如果想使用(捆绑的)代码就不必使用browserify。显而易见的方法是module.exports
通过window.
全局和全局公开模块导出。但是,我宁愿不要污染那些正在require
编写脚本的人的全局命名空间。
是否可以检测脚本是否正在被require
d?如果是,那么我可以执行以下操作:
请注意,无论如何,这将预先捆绑,因此var mymodule
不会暴露全局。此外,目前我正在使用显示模块模式,但愿意切换到更适合 browserify 的东西。
使模块既require
能干又<script src=
能干的最好方法是什么?在这两种情况下最好只公开一个全局变量吗?
javascript - Node.js browserify 慢:没有办法缓存大库吗?
我正在创建一个需要使用 browserify 的大型库(例如 jquery 和 three.js)的文件。编译过程需要几秒钟,可能是因为它正在为我所做的每个小改动重新编译所有库。有没有办法加快速度?
linux - 在 linux 上,如何在命令的输出周围包装文本并将其保存到文件中?
browserify my_file.js
返回一个流,其中包含将 my_file 转换为浏览器的结果。有没有办法将“”读者包装在该输出周围?例如:echo "<html>" > browserify my_file.js > "</html>" > bundle.js
- 或类似的东西。
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.
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.
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
应该如何在浏览器中工作?
browserify - browserify 可以解决方法中的要求调用吗
我有
带有插件系统的软件包。每个插件都是一个包 可以通过 all 方法加载插件use
并将插件导出作为参数传递:
我想要
如果参数use
是字符串use
应该需要模块。
问题
browserify 可以解决这种用法require
吗?
我不确定 browserify 是否只是reqire
在顶级 levl 中查找调用,或者是否实际评估代码。
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 应用程序中,我有。
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
)。但我想确保在我处理它之前没有人为我做过这件事。