requirejs 与 define/require 函数冲突

requirejs confilcts with define/require functions

长话短说 - 我在尝试将旧项目中的 requireJS 与一大堆遗留代码集成时遇到问题,这些遗留代码具有与 requireJS 冲突的全局定义函数的定义。 当我加载这两个脚本时,karma/jasmine 测试出现问题。

karma.conf.js

files: [
  <lib that has define global function insight>
  ...
  webappJs + '/vendor/require.js',
  'src/test/js/test-main.js',
  ... 
]

测试-main.js

var allTestFiles = [];
var TEST_REGEXP = /.*ng.*test\.js/i;

Object.keys(window.__karma__.files).forEach(function(file) {
    if (TEST_REGEXP.test(file)) {
        // Normalize paths to RequireJS module names.
        allTestFiles.push(file);
    }
});

var config = {
    appDir : '',
    baseUrl : '/base/src/main/webapp',
    dir: "lib",
    deps: allTestFiles,
    callback: window.__karma__.start,
    paths : {
        // Configure alias to full paths
        'angular' : 'lib/angular.min',
        'angularMock' : '/base/src/test/lib/angular-mocks',
        'requireLib': 'lib/require'
    },
    namespace: "appRequire",
    shim : {
        'angular' : {
            deps : [],
            exports : 'angular'
        },
        'angularMock' : {
            deps : ['angular']
        }
    },
    modules: [
        {
            name: "appRequire",
            include: ["requireLib"],
            create: true
        }
    ]
};

require.config (config);

所以现在我必须包含 appRequire.js 文件???但这是我不明白模块将如何创建的事情,谁来创建它?我不应该将 require.js 包含在文件列表中

文档对此没有说太多...它只是说我将能够使用 define/require 功能作为 appRequire.define 和 appRequire.require 之后.. .但是它的机制是什么?我在这里想念什么?因为目前 requirejs 仍在抱怨使用 'old' 定义函数的代码。

在此先感谢所有可以阐明这一点的人!

修复了此问题,手动解决了 main.js

中的冲突
if( typeof define !== 'undefined' ) {
    myApp = {
       define : define
    };
    define = void 0;
}