nee*_*elp 0 javascript requirejs browserify webpack
伙计们。我习惯在 NodeJS 中通过 require('library') 加载库。现在我负责一个非常重要的项目的前端,希望它能给我的生活带来我应得的幸福。
问题是没有人能够提供一种简单、随时可用的模块加载解决方案。
Webpack:对于开发来说不可靠。需要创建配置文件并阅读一堆东西,没有一个有好工作的人有时间这样做。糟糕的文档,看起来编辑文件时会给我带来困难(我在一个屏幕上有浏览器,在另一个屏幕上有文本编辑器,所以我编辑一行并按 f5 立即看到结果,似乎并不无需在 webpack 中进行额外的努力即可实现)
Browserify/RequireJS 都差不多,比较麻烦
为什么没有人能够在浏览器中复制 NodeJS 的“require”系统?我只想做 require('library') 并忘记它。没有未经请求的配置文件。无需额外工具。不说废话。只是。
$.getScript( "ajax/test.js" )
.done(function( script, textStatus ) {
console.log( textStatus );
})
.fail(function( jqxhr, settings, exception ) {
$( "div.log" ).text( "Triggered ajaxError handler." );
});Run Code Online (Sandbox Code Playgroud)
进一步思考这个问题后,它实际上已经加载了......
像 requireJS 或 commonJS 这样的库的存在是有原因的。有几种方法。
这对于行为更像应用程序的现代网站来说并不好。他们一直在等待请求的资源完成下载,速度很慢。所以
成为首选方法。它是异步的,这是大多数现代模块库当前所处的位置。requireJS 规定了head.appendChild(script)方法。简而言之这个
var head = document.getElementsByTagName('head')[0],
script = document.createElement('script');
script.src = url;
head.appendChild(script);
如果您真的想要,您可以编写自己的库,但如果我可以坦率地说...如果您的团队处于需要某种导入功能的地方,那么我很难相信您不能投入时间学习一个简单的库,比如 requireJS。它很受欢迎、强大且易于使用。
这不是真正的模块解决方案,因为它无法解决异步调用时创建对象模型层次结构的一些问题。即便如此,请参阅此处的JQuery API以及我在评论中提供的SO问题。
请注意,JS 文件的位置是相对路径而不是根路径。
不过,我还想说明一下,如果花时间的话,webpack 可以成为在团队环境中使用的非常强大的工具。借助 NPM,它是标准化前端构建和部署的好方法,还具有直接从命令行进行热重载的本地测试服务器功能...您应该再看一下;)这里
| 归档时间: |
|
| 查看次数: |
4103 次 |
| 最近记录: |