javascript - 是否可以在不附加 ".js"扩展名的情况下在 Dojo 中加载脚本

标签 javascript dojo

我需要从我创建的一些模块加载文件,但 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/

相关文章:

javascript - 如何删除 DOJO 数据存储添加到我的已提取项目中的所有额外字段?

javascript - 如何通过javascript获取图像的大小?

javascript - 为什么 $(this) 会根据回调的创建方式而有所不同?

javascript - 自动检测位置(城市和州),并将该信息分别放入输入和选择字段中

javascript - 在实习生中使用 ArcGIS JSAPI 作为备用加载器时的测试套件路径

javascript - 如何在解析或拒绝 Dojo Deferred 对象后执行公共(public)代码?

javascript - 从 JS 模块内的 HTML 访问函数

javascript - .js 文件中 PHP 生成的代码

javascript - Widget 的类变量和构造函数中初始化数组的区别?

javascript - 如何制作一个正则表达式来将一个单词与一个随机插入的字符相匹配?