尝试激活我的 shell 时出现 404 错误。它似乎找到了 shell.js 但随后表明它找不到 shell.html 因为它在错误的地方寻找!
我试图强制公约明确告诉它在哪里看,但它仍然不起作用。像这样:viewLocator.useConvention('viewmodels', 'views', '');
但我仍然得到:
App/viewmodels/shell.html 404 (Not Found)
显然它不应该往里看app/viewmodels/
,它应该往里看app/views/
我项目的不同之处在于我没有将“/scripts/”文件夹用于第 3 方的东西,而是使用我自己的名为“/content/”的文件夹。我还将与 durandal 相关的几乎所有内容都放在“/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 > 这里是我设置要调用的 shell 的地方:
app.setRoot('viewmodels/shell');
这是 main.js 中的路径:
paths: {
'text': 'durandal/text',
'durandal': 'durandal',
'plugins': 'durandal/plugins',
'transitions': 'durandal/transitions'
}
在 shell.js > 中,这并不重要,因为此时它已经抛出了 404。
有任何想法吗?