使用浏览器化加载远程脚本
Load remote scripts with browserify
我真的很喜欢使用 cdnjs 在客户端加载 javascript,它使我的项目更小、更干净,并且加载所有内容的速度也更快。我目前使用 require.js 进行模块加载,它可以从 cdnjs 加载并填充传统脚本以轻松使用它。我最近一直在更多地研究浏览器化作为一种替代方案,虽然我确实找到了 browserify-shim,它可以像 require 一样填充非 cjs 模块,但我很好奇是否有办法使用 browserify 从远程源加载脚本,或者您是否无论如何都必须在本地安装所有内容。
如果答案是你必须通过 npm 在本地安装所有内容,这会让事情变得有点奇怪。一方面,您可以将node_modules
添加到.gitignore
文件中,而不必担心在使用package.json
时将所有 deps 保留在版本控制上,但另一方面,您需要在部署时将模块放回那里,这意味着一个额外的部署后步骤将运行npm install
并且该节点需要安装在您要部署到的任何地方, 这对我来说似乎也有点尴尬,尤其是对于静态网站。
真的,关于此的任何想法或讨论都会很棒:)
我的想法是这样的,你有三个选择:在部署之前在本地连接JS文件(浏览器化),实时加载它们(require.js),或者两者兼而有之。公平地说,您也可以使用 require.js 将文件与 r.js 连接起来。至少对我来说,我喜欢浏览器化的设计方式,以使用与npm模块相同的语法和心态。我认为最终你的经历并不重要。如果所有代码都打包在一起,你部署,并且没有任何依赖项,对我来说似乎是一个胜利。此外,我认为这更符合 Java 和类似的编译语言正在做的事情,即将所有 deps 放在一个可部署的包中。我知道我提到了Java,但不要让它吓到你,因为实际上我们都从周围人的想法中受益,甚至是我们认为我们不喜欢的语言。如果我不得不赌我的钱,我会赌 browserify,因为它提供了(我认为)是一种更成熟的处理模块的方法(按基于文件而不是语法组织)。npm 还为我们提供了一种分享代码的好方法,因此请为它们竖起大拇指。
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- Selenium异步脚本在自己的线程中阻塞其他脚本
- 解析加载特定脚本的脚本标记内的数据
- 知道脚本内部脚本的 URL
- 在 HTML 上运行两个脚本(Java 脚本)
- 对单个 PHP 脚本的多个 AJAX 调用划分工作负载 = 服务器端多线程
- 如何在从线程收到一些结果后使用 java 脚本停止自动刷新功能
- Chrome用户脚本工作在一个线程页面,但不是在一个主要的论坛页面,具有相同的结构
- Jqgrid库脚本中对于b(":input:visible", a.w)[0]的Jqgrid验证例程
- 我可以将Browserify bundle/模块脚本与脚本src>包括脚本
- 如何使用延迟脚本和内联脚本保持脚本执行顺序
- 中断运行javascript脚本的java线程
- jquery使用脚本更改脚本的SRC
- 窗口.Onerror:当动态添加的脚本(通过脚本标签)出错时,url属性为空
- 从另一个脚本调用脚本
- 脚本性能-脚本使浏览器崩溃
- 可以't使用GAS中的JQuery从脚本调用脚本
- 浏览器脚本是否强制要求在单个线程上运行
- 客户端脚本注册脚本一行