使用require.js加载非AMD文件和扩展名不是.js的文件

jpe*_*emi 2 requirejs js-amd

是否有任何干净的方式来加载除js扩展名以外的文件而不是AMD内容?

我使用enforceDefine配置来确保我的实际AMD代码在开发时工作.

到目前为止,我已经设法组建了一个将enforceDefine设置为false 的插件,因此我可以加载第三方库:require(['noamd!handlebars']).这对我来说似乎不太讨厌,但我想知道是否有更好的方法.

我正在测试noext插件,它可以完成它的工作,但也是一种hacky方式.我注意到它将noext参数两次应用于url(test.txt?noext=1&noext=1).我可以忍受,但最佳的我想摆脱所有额外的参数.可以这样做吗?

Sim*_*ith 7

要加载不是JS的文件(例如.handlebars,.mustache),文本插件将适合您的目的.

要加载普通的js文件,可以使用RequireJS作为脚本加载器:

require(['full/path/to/file.js'], function(){
    // Fired when file is loaded but if non AMD
    // no value will be passed to this function
});
Run Code Online (Sandbox Code Playgroud)

如果您想将非AMD文件视为模块,则可以使用shim配置来实现它.