无法使用带有 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>
希望这对其他人有所帮助。
我正在尝试使用工厂模式在 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>
希望这对其他人有所帮助。