有没有办法在require.js中动态设置baseurl?

use*_*830 5 javascript requirejs zend-framework2

我正在Pi-engine(一个基于zend框架2的php应用程序引擎)上构建一个应用程序.

在我的应用程序中,javascript文件路径取决于应用程序名称,而应用程序名称由安装程序选择.

例如,require.js的url将是:

http://my.site.name/asset/module-{module_name}/script/js/require.js

module_name根据给定应用程序的名称而更改.

我知道我可以在后端的'data-main'属性中添加路径,如:

<script data-main="/asset/module-{module_name}/script/" src="/asset/module-{module_name}/script/js/require.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是我想知道有没有办法使用javascript动态设置baseurl,这样我就不需要触摸后端了.

Pau*_*ime 10

http://requirejs.org/docs/api.html#config

此外,您可以在加载require.js之前将配置对象定义为全局变量require,并自动应用值.此示例指定在require.js定义require()时立即加载的一些依赖项:

<script>
    var require = {
        baseUrl: generateBaseUrl()
    };
</script>
<script src="scripts/require.js"></script>
Run Code Online (Sandbox Code Playgroud)


Cod*_*ter 0

如果我正确理解你的问题,你可以在配置对象中使用“baseUrl”,你可以在其中设置找到 js 文件的路径。

require.config({
   baseUrl: "/js/"
});
Run Code Online (Sandbox Code Playgroud)