2017-07-13 14 views
-2

伙计们。 我用来在NodeJS中加载需要('库')的库。 现在我负责一个非常重要的项目前端,希望能够给我的生活带来我应得的快乐。要求在浏览器中以EASY方式

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

  • Webpack:不可靠的开发。需要创建配置文件和阅读大量的东西,没有人有一个良好的工作之间的时间。可怕的文档,看起来会给编辑文件带来很大困难(我在一个屏幕上使用浏览器,在另一个屏幕上使用文本编辑器,所以我编辑一行并按f5即刻查看结果,似乎不是可能没有的WebPack另一个额外的努力)

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

为什么一直没有人能够复制的NodeJS“需要”系统浏览器??我只是想要做('图书馆')并忘记它。没有未配置的配置文件。没有必要的额外工具。不说废话。只是。

+0

'为什么没有人能够复制nodejs'在浏览器中需要'系统'?因为这不是javascript在过去的千年中的设计 - 模块即将到来。与此同时,您需要使用可用的工具,尽管它们“太难”供您使用 –

+0

Webpack不需要很复杂:'webpack src/app.js dist/bundle.js'将会将所有需求捆绑在一起,提供'bundle.js',一个支持浏览器的脚本。 – Will

+0

这是部分真实的......有可以实现的自定义功能。 https://stackoverflow.com/questions/2598469/jquery-how-to-include-other-js-files-into-js你有没有尝试过使用jquery的'getScript()'? –

回答

0

$.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文件是从相对路径不是根路径。

但是我也想说明是否需要时间,webpack可以是一个非常强大的工具,可以在团队设置中使用。使用NPM它是一种标准化前端构建和部署的好方法,也可以通过热重新加载直接从命令行获得本地测试服务器功能...您应该再看一下;)here

0

您可以考虑SystemJS,它是轻便灵活,因为它加载任何模块格式。

相关问题