我需要从我创建的一些模块加载文件,但 dojo 加载器不断添加“.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扩展(后缀)呢?
最佳答案
是的,这是可能的。在 some/module
之前添加 dojo/text!.
(包括感叹号和点字符),如下面的代码所示。我在下面的示例中特意保留了一个 php 目标,以证明它也可以是动态源:
require(["dojo/ready","dojo/text!.myPHPFiles/somePhpFile.php"], function( ready, app ) {
ready( function( ) {
app.something();
} );
});
我不确定这是否会允许结果中的任何 JS 代码可执行(在您上面的示例中 app.something()
可能不会执行)。您可能需要测试和确认。但是,这对于加载动态内容(例如 JSON 数据)非常有用,以便用作 FilteringSelect 等小部件的 DataStore。
我回答这个问题是为了帮助其他开发人员解决类似的问题,尽管您的问题是在一段时间前发布的。
关于javascript - 是否可以在不附加 ".js"扩展名的情况下在 Dojo 中加载脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15930051/