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

Requirejs 使用require.js加载非AMD文件和扩展名不是.js的文件,requirejs,js-amd,Requirejs,Js Amd,是否有任何干净的方法来加载除js扩展名以外的文件而不是AMD内容 我使用enforceDefine配置来确保我的实际AMD代码在开发过程中正常工作 到目前为止,我已经成功地组装了一个插件,将enforceDefine设置为false,这样我就可以像这样加载第三方库:require(['noamd!handlebar'))。这对我来说似乎不太老套,但我想知道是否有更好的方法 我目前正在测试noext插件,它完成了它的工作,但也是以一种黑客的方式。我注意到它将noext参数应用于url两次(test

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

我使用enforceDefine配置来确保我的实际AMD代码在开发过程中正常工作

到目前为止,我已经成功地组装了一个插件,将enforceDefine设置为false,这样我就可以像这样加载第三方库:
require(['noamd!handlebar'))
。这对我来说似乎不太老套,但我想知道是否有更好的方法


我目前正在测试noext插件,它完成了它的工作,但也是以一种黑客的方式。我注意到它将noext参数应用于url两次(
test.txt?noext=1&noext=1
)。我可以接受这一点,但最理想的情况是我想去掉所有额外的参数。可以这样做吗?

加载非JS文件(例如
.handlebar
.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
});

如果要将非AMD文件视为一个模块,则要实现它。

您可以在末尾附加一个?MEH=BLAH来停止.js附加

乙二醇

此外,还有一个插件,但不支持路径->

添加了路径支持修复的问题->


如果您的文件实际上不是动态js文件,那么请使用文本插件->

这是一个很好的答案,但对我的情况没有帮助。我应该在问题中提到,我也考虑使用文本插件来加载非js文件。我目前正在加载非AMD文件,正如您所解释的,但我创建了一个插件,暂时禁用enforceDefine,因此当文件不包含AMD模块时,RequireJS不会抛出错误。我也考虑过垫片配置,但很快就放弃了。我想即使在您事先不知道是否要加载模块的情况下,它也会起作用。我只是对医生没有耐心:)
requirejs.config({
    paths: {
        "dynamicstripconfig": "../php/domain/config.php?dynamic=1"
    }
});