gpt4 book ai didi

javascript - sprockets//=require 和 browserify-rails require() 之间的区别?

转载 作者:搜寻专家 更新时间:2023-10-31 23:53:25 26 4
gpt4 key购买 nike

带链轮:

//= require 

...在 application.js 中似乎添加了一个 <script src=...>标记到我的 HTML 的头部。但是,使用 browserify-rails :

window.mymodule = require('mymodule'); // mymodule is a dependency in package.json 

我没有看到 <script> mymodule 的标签.但是我能够使用内部定义的代码 mymodule . browserify 在这里做什么?

最佳答案

简而言之,Browserify 将每个模块包装在一个函数中,为模块提供了自己的作用域。这使您不导出的内容对模块保密。这些函数中的每一个都存储在一个映射中,以便稍后可以在 require 上查找它们。

这是一篇很好的文章,在较高的层次上解释了它是如何工作的:http://benclinkinbeard.com/posts/how-browserify-works/

Sprockets 只在全局范围内包含 list 中的所有内容。在开发中,每个脚本的文件都包含在内。在生产环境中,脚本都是串联和缩小的,但都是全局的。

关于javascript - sprockets//=require 和 browserify-rails require() 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33415202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com