无法使用带有 MVC.net 的 RequireJS 呈现模块

Unable to render module using RequireJS with MVC.net

我正在尝试使用工厂模式在 MVC.net 中使用 requirejs 渲染模块,但出现错误

Uncaught Error: Mismatched anonymous define() module: function () {

我的项目文件夹结构如下所示。

require.config.js:

requirejs.config({
"baseUrl": "Scripts",
"paths": {
    "JALModule": "Views/Claim/Startup/JAL",
    "SeniorCareModule": "Views/Claim/Startup/NonReferral/SeniorCare"
}
});

我正在使用 .net 捆绑和缩小,当应用程序在浏览器上呈现时,下面是结构。

JALModule.js:

define(function () {
return {
    // declare the function to change the background color
    setBackgroundJAL: function (color) {
        console.log('HI');
    }
};
});

我正在从工厂访问上述模块class:

define(function (require) {

var claimTypes = {
    'JAL': require('JALModule')
    , 'SeniorCare': require('SeniorCareModule')
    //, 'W2': require('modules/W2')
};
return function (claimType) {
    try {
        return new claimTypes[claimType];
    } catch (error) {
        throw new Error('Unknown Claim Type Specified.');
    }
}
});

我是不是遗漏了某些配置,或者是相对路径定义不正确? 需要您对此提出宝贵意见。

谢谢 萨杰什

在尝试了所有可能性后,我终于解决了这个问题。 1) 我必须更改配置文件以提供正确的路径:

requirejs.config({
"baseUrl": "../Scripts",
"paths": {
    "JAL": "../../Views/Claim/Startup/JAL",
    "SeniorCare": "../../Views/Claim/Startup/NonReferral/SeniorCare",
    "ClaimStartupFactory": "../../Views/Claim/Startup/ClaimStartupFactory"
}
});

2) 我还必须删除 requirejs 配置中定义的所有文件的 .net 缩小版。

3) 在Layout.cshtml 文件

中直接引用requirejs 配置link
<script src="~/Scripts/require.config.js"></script>

希望这对其他人有所帮助。