4

我真的很喜欢使用cdnjs在客户端加载 javascript,它使我的项目更小更干净,并且加载所有内容也更快。我目前使用require.js进行模块加载,它可以从 cdnjs 和 shim 传统脚本加载以轻松使用它。我最近一直在研究browserify作为替代方案,虽然我确实找到了browserify-shim,它可以像 require 一样填充非 cjs 模块,但我很好奇是否有办法从远程加载脚本使用 browserify 获取源代码,或者无论如何您都必须在本地安装所有内容。

如果答案是你必须通过 npm 在本地安装所有东西,这会让事情变得有点奇怪。一方面,您可以添加node_modules.gitignore文件中,而不必担心在使用package.json.意味着将运行一个额外的部署后步骤,npm install并且该节点需要安装在您要部署到的任何位置,这对我来说似乎也有点尴尬,尤其是对于静态站点。

真的,任何关于此的想法或讨论都会很棒:)

4

1 回答 1

2

我的想法是这样的,您有三个选择:在部署之前将 JS 文件本地连接在一起(浏览器),实时加载它们(require.js),或者两者兼而有之。公平地说,您也可以使用 require.js 将您的文件与 r.js 连接起来。至少对我来说,我喜欢 browserify 被设计成使用与 npm 模块相同的语法和思维方式。我认为最终你所经历的奇怪并不重要。如果所有代码都打包在一起,您进行部署,并且没有任何依赖关系,这对我来说似乎是一个胜利。另外,我认为这更符合 Java 和类似的编译语言正在做的事情,即将所有的 deps 放在一个可部署的包中。我知道我提到了 Java,但不要 不要让这吓到你,因为实际上我们都从周围人的想法中受益,即使是我们认为我们不喜欢的语言。如果我必须赌钱,我会赌browserify,因为它提供(我认为)是一种更成熟的处理模块的方法(按基于文件而不是语法组织)。npm 还为我们提供了一种分享代码的好方法,因此请为他们点赞。

于 2013-11-20T20:22:13.577 回答