$.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
'为什么没有人能够复制nodejs'在浏览器中需要'系统'?因为这不是javascript在过去的千年中的设计 - 模块即将到来。与此同时,您需要使用可用的工具,尽管它们“太难”供您使用 –
Webpack不需要很复杂:'webpack src/app.js dist/bundle.js'将会将所有需求捆绑在一起,提供'bundle.js',一个支持浏览器的脚本。 – Will
这是部分真实的......有可以实现的自定义功能。 https://stackoverflow.com/questions/2598469/jquery-how-to-include-other-js-files-into-js你有没有尝试过使用jquery的'getScript()'? –