需要在浏览器中以简单的方式

时间:2017-07-13 01:22:31

标签: javascript webpack requirejs browserify

人。 我习惯在NodeJS中加载需要('library')的库。 现在我负责一个非常重要的项目的前端,希望这将给我的生活带来我应得的幸福。

事情是没有人能够设法提供一个简单的,随时可用的模块加载解决方案。

  • Webpack:开发不可靠。需要创建配置文件和阅读一堆东西没有一个人之间有良好的工作有时间。糟糕的文档和看起来会让我在编辑文件时遇到困难(我在一个屏幕上有浏览器,在另一个屏幕上有文本编辑器,所以我编辑一行并按f5立即查看结果,似乎不是可以在没有其他额外努力的情况下使用webpack)

  • Browserify / RequireJS或多或少相同,太麻烦

为什么没有人能够在浏览器中复制nodejs'requires'系统?我只是想要做('图书馆')并忘记它。没有未保存的配置文件。没有必要的额外工具。不说废话。就是这样。

2 个答案:

答案 0 :(得分:2)



$.getScript( "ajax/test.js" )
  .done(function( script, textStatus ) {
    console.log( textStatus );
  })
  .fail(function( jqxhr, settings, exception ) {
    $( "div.log" ).text( "Triggered ajaxError handler." );
});




考虑到这个问题后,它实际上已经装满了......

像requireJS或commonJS这样的库存在是有原因的。有几种方法。

同步commonJS方法。

这对于行为更像应用的现代网站来说并不好。他们将 SLOW 等待所请求的资源一直完成下载。所以

AMD(异步模块定义)

成为首选方法。它的异步是大多数现代模块库目前所在的位置。 requireJS规定了head.appendChild(script)方法。简而言之,这个

var head = document.getElementsByTagName('head')[0], script = document.createElement('script'); script.src = url; head.appendChild(script);

如果你真的想要你可以写自己的图书馆,但如果我可以坦率地说......如果你的团队在一个他们需要某种导入功能的地方,那么我发现很难相信你可以'花时间学习像requireJS这样的简单库。它很受欢迎,健壮且易于上手。

超级简单地将JS文件加载到另一个JS文件中的异步解决方案

这不是一个真正的模块解决方案,因为它不会解决在异步调用时创建对象模型层次结构的一些问题。即便如此,请参阅我在评论中提供的JQuery API here和SO问题here

请注意,JS文件的位置来自 relative 路径,而不是根路径。

但是我还想说明如果花时间,webpack可以成为一个非常强大的工具,可以在团队设置中使用。使用NPM是标准化前端构建和部署的一种很好的方式,也可以直接从命令行进行本地测试服务器功能和热重新加载......你应该再看一下;)here

答案 1 :(得分:0)

你可以考虑SystemJS,它加载任何模块格式都很轻松灵活。