我在尝试激活我的外壳时遇到了404错误。它似乎找到了shell.js,但后来表明它找不到shell.html,因为它查找的地方不对!从1.2升级到Durandal 2.0 - 没有找到shell.html
我试图强迫约定明确告诉它在哪里看,但它仍然无法正常工作。像这样:viewLocator.useConvention('viewmodels', 'views', '');
,但我仍然得到:
App/viewmodels/shell.html 404 (Not Found)
显然,它不应该被看在app/viewmodels/
,它应该在app/views/
在我的项目不同的是,我” m不使用第三方的'/ scripts /'文件夹,我使用我自己的文件夹'/ content /'。我还将'/ app /'文件夹中与杜兰达有关的所有事情都放在了里面。
这里有我的项目的一些关键文件的结构:
+app (folder)
main.js
> durandal (folder)
app.js
r.js
require.js
text.js
viewEngine.js
viewLocator.js
> plugins (folder)
router.js
> viewmodels (folder)
shell.js
> views (folder)
shell.html
在main.js
> 此处,我设置的外壳被称为: app.setRoot('viewmodels/shell');
这里也就是在路径main.js:
paths: {
'text': 'durandal/text',
'durandal': 'durandal',
'plugins': 'durandal/plugins',
'transitions': 'durandal/transitions'
}
在shell.js> 好,它其实并不重要,因为它
”这一点已经抛出了404。
有什么想法?
“plugins”和“text”的路径看起来不正确。如果baseUrl是“app”,那么它应该是“插件”:“插件”和“文本”:“文本”。 – RainerAtSpirit
好想法,但他们是正确的。从我上面的图画中可以看出来,但路径实际上是'app> durandal'和下面的'plugins'目录。如果我删除'durandal /'部分,它不会找到这些文件,并在我已经收到的文件上引发404错误。 – bigerock