【问题标题】:Load remote scripts with browserify使用 browserify 加载远程脚本
【发布时间】:2013-11-06 01:38:41
【问题描述】:

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

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

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

【问题讨论】:

标签: javascript node.js requirejs browserify


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 2013-12-28
    • 1970-01-01
    • 2017-09-12
    相关资源
    最近更新 更多