我需要从我一直在创建的一些模块中加载文件,但是dojo loader继续添加“.js”扩展名。
我一直在使用类似的东西:
require(["dojo/ready","some/module"], function( ready, app ) {
ready( function( ) {
app.something();
} );
});
但它不断加载module.js
我想要像url/some/module
这样的东西。
我发现使用类似“some/module?noext
”的内容有效,但是没有配置选项?
我已经看到类似于RequestJs和插件的类似问题(https://github.com/millermedeiros/requirejs-plugins)。
那么可以防止dojo添加de js扩展名(后缀)吗?
答案 0 :(得分:1)
是的,这是可能的。在dojo/text!.
之前添加some/module
(包括感叹号和点字符),如下面的代码所示。我故意在下面的示例中保留了一个php目标,以证明它也可以是动态源:
require(["dojo/ready","dojo/text!.myPHPFiles/somePhpFile.php"], function( ready, app ) {
ready( function( ) {
app.something();
} );
});
我不确定这是否允许结果中的任何JS代码可执行(在上面的示例中app.something()
可能无法执行)。您可能想要测试并确认。但是,这对于加载动态内容(如JSON数据)非常有用,可用作FilteringSelect等小部件的DataStore。
我正在回答此问题,以帮助其他开发人员解决类似问题,尽管您的问题已经过了一段时间。