使用require js

时间:2018-03-09 16:18:09

标签: javascript requirejs

这是我的问题, 我用requirejs和其中一个(只有一个)调用了很多脚本我需要添加crossorigin属性以使我的脚本调用看起来像那样

<script type="text/javascript" charset="utf-8" async 
data-requirecontext="_" data-requiremodule="myModule" 
src="cdn.moduleUrl" crossorigin="anonymous"></script>

我已经搜索过docs,google和stackOverflow但我无法找到任何回复。

P.S。:我使用requirejs 2.3.5

1 个答案:

答案 0 :(得分:0)

好的,所以我终于找到了解决问题的“正确”解决方案,在require代码中,你有一个未记录的选项 onNodeCreated来设置回调,然后在dom上插入脚本标记用这个代码,我实现了我的目标!

require.config({
  paths: {
    'myModule': 'cdn.moduleUrl'
  },
  attributes: {
    "myModule": {
      crossorigin: "anonymous"
    }
  }, 
  onNodeCreated: function(node, config, name, url){
    if(config.attributes && config.attributes[name]){
      Object.keys(config.attributes[name]).forEach(attribute => {
        node.setAttribute(attribute, config.attributes[name][attribute]);
      });
    }
  }
});