在运行时添加RequireJS配置的路径

Jan*_*nen 16 requirejs azure-mobile-services

好的,我已经知道你应该RequireJS像这样配置路径

require.config({
  paths: {
    name: 'value'
  }
});
Run Code Online (Sandbox Code Playgroud)

并称之为这样.

require(['name'], function() {
    /* loaded */
});
Run Code Online (Sandbox Code Playgroud)

但问题是,我正在环境中工作,我无法访问现有的呼叫require.config(...).对于那些关心的人来说,环境是Azure移动服务预定的工作.Microsoft已在环境中包含RequireJS并配置了路径.我的问题是双重的.

1.如何添加现有require.config()的路径? 我知道require.config()再次调用将破坏现有配置.这是我不想做的.

2.如何知道哪些路径已配置? 我真的不想覆盖任何现有的路径名或意外覆盖任何现有的库.

Mat*_*ick 26

再次运行require.config()不会覆盖原始配置文件.它实际上扩展了它并添加了它的新路径.现在我用这种方式,configfile它也是一个require.config({})

<script data-main="configfile" src="require.js"></script>
<script>
    require.config({
        paths: {
            prefix-name: 'path/to/file'
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

避免与Azure Mobile路径发生名称冲突的一种方法是简单地为所有自定义路径添加前缀.

免责声明:我从未使用过Azure Mobile,只有RequireJs.您可能必须以不同的方式实现它,但它是可能的.