带RequireJS的HotTower Durandal 2问题
当Durandal 2.0问世时,我一直在做一个热毛巾项目,所以我自然升级了。它有点搞砸了文件结构,将带RequireJS的HotTower Durandal 2问题,requirejs,durandal,hottowel,Requirejs,Durandal,Hottowel,当Durandal 2.0问世时,我一直在做一个热毛巾项目,所以我自然升级了。它有点搞砸了文件结构,将require.js和durandal文件夹移到Scripts文件夹等。最后我将durandal文件夹移回App文件夹,与原始HotTow模板一样,指向index.cshtml中Scripts文件夹中的require.js 但突然间,我在页面加载时出现了以下错误: GET http://localhost:7153/App/jquery.js 404 (Not Found) require.js
require.js
和durandal
文件夹移到Scripts
文件夹等。最后我将durandal
文件夹移回App
文件夹,与原始HotTow模板一样,指向index.cshtml
中Scripts
文件夹中的require.js
但突然间,我在页面加载时出现了以下错误:
GET http://localhost:7153/App/jquery.js 404 (Not Found) require.js:1880
GET http://localhost:7153/App/plugins/history.js 404 (Not Found) require.js:1880
GET http://localhost:7153/App/knockout.js 404 (Not Found) require.js:1880
在加载require和启动durandal之前,我正在加载jQuery和knockout绑定(使用ASP.NET绑定):
@Scripts.Render("~/scripts/vendor")
@if(HttpContext.Current.IsDebuggingEnabled) {
<script type="text/javascript" src="~/Scripts/require.js" data-main="@Url.Content("~/App/main.js")"></script>
} else {
<script type="text/javascript" src="~/App/main-built.js"></script>
}
@Scripts.Render(“~/Scripts/vendor”)
@if(HttpContext.Current.IsDebuggingEnabled){
}否则{
}
知道怎么修吗?我不想回到Durandal 1.2。考虑一下require在哪里查找文件。例如,如果
http://localhost:7153/App/jquery.js
导致了404,那么我认为这是因为文件不在该位置
RequireJS将基于baseUrl(如果指定)以及作为任何require.config()
调用的一部分设置的任何路径加载资源
查看是否可以找到将jQuery指定为对define'd模块的依赖项的位置,或者找到jQuery被指定为required的位置。我假设它只是被请求为“jquery”
在这种情况下,您需要告诉require jQuery所在的位置。击倒也一样。对于Durandal文件,您可能需要将整个Durandal文件夹重新指向特定的位置,具体取决于文件的位置
您的require config调用可能如下所示:
require.config({
baseUrl: '/',
paths: {
'jquery': 'scripts/jquery',
'knockout': 'scripts/knockout-debug',
'durandal': 'scripts/durandal'
}
});
如果可能,请查看Durandal samples for 2.0,您将看到示例中使用的
require.config()
,您可以将其与您的文件夹结构进行比较。是否可以提供配置require的main.js?