如何在后台组织App
How to organize App in durandal?
我根据@john_papa的教程创建了一个简单的durandal SPA,在这个来自多元视角的视频中,他安装了nuget包,但这个视频已经有一年了。
在那个版本中,当安装durandal包时,它会创建一个App文件夹,然后创建一个durandal文件夹,其中包含许多js文件。
在新版本的durandal中,没有创建App文件夹,而是将所有durandal文件创建在/scripts/folder下。
基于教程,我创建了我的结构如下:http://screencast.com/t/13B4YhqExVRQ
然而,当我运行它时,我在F12开发人员工具上得到了这个错误:http://screencast.com/t/Sfdd0kLK
我知道路径与教程不同,这就是为什么我问我应该如何组织以及我应该如何使用定义方法或函数。
我试着
define(['Scripts/durandal/system', 'logger'],
但是没有成功
我注意到main.js有:
require.config({
paths: { "text": "durandal/amd/text" }
});
define(function (require) {
var system = require('durandal/system');
app = require('durandal/app');
system.debug(true);
app().start().then(function () {
app.setRoot('shell');
});
});
你的问题相当固执己见,因为项目结构可能因你问的人而有很大不同。鉴于此,我将给你我的快速意见-
- 任何你不打算修改的东西都应该在你的脚本或供应商文件夹中。在你引用的项目结构中,我会有我的Durandal和相关的脚本在那里。
- 任何你计划修改的东西都应该是分开的。如果这意味着把App文件夹放在根目录下,那就这么做。我建议把它们都放在一个目录下(比如App),这样你就可以按照惯例设置所有的路由和其他应用程序代码。我总是像Durandal 2那样使用分离视图和视图模型的约定。x建议(root/app/views//root/app/viewmodels),并从那里有一个定义良好的结构,例如在每一侧都有一个主目录。
至于为什么它不能工作,你需要把main.js中的require.js配置指向Durandal所在的正确目录。
我会把这个添加到你的配置-
require.config ({
paths: {
'text': 'durandal/amd/text',
'durandal': '../Scripts/durandal',
'plugins': '../Scripts/durandal/plugins',
'transitions': '../Scripts/durandal/transitions' }
});
这个文档帮我找到了问题。
http://durandaljs.com/documentation/Conversion-Guide.html相关文章:
- 选项卡侦听器未被来自后台脚本的消息激活
- 在Nodejs中Express输入DEBUG=app时权限被拒绝/bin
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- WinJS(WP8.1):从后台任务更新辅助磁贴
- JS页面在后台加载时显示动画
- Mozilla没有;t在附加视频src后触发视频后台事件
- 将图像从后台页面传递给内容脚本javascript
- 如何为后台更改程序代码设置cookie
- 当绑定到AngularJS中的函数时,会在后台发生什么
- jquery,while循环在后台运行,同时while循环
- 2012年12月迁移在App Dashboard中不可用
- 使用javascript后台脚本获取Yotutube频道信息
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- 如何使用app和secret进行安全的解析初始化
- MAC操作系统-如何通过Java类运行应用程序(.app)
- Django无法通过urls.py配置找到djangular/app.js文件.如何进行故障排除
- jQuery Mobile App 的后台工作线程
- Webapp后台文件上传到App Engine Blobstore
- 如何在后台组织App
- cordova navigator.app.close()将应用程序保留在后台