ionic入门教程第三课-在项目中使用requirejs分离controller文件和server文件

继上篇教程中提到的,我们新建一个简单的tabs类型的Ionic项目。

根据目录文件我们知道,系统自动创建了一个controller文件和server文件,并且把所有的控制器和服务都写到这两个文件里面。

ionic入门教程第三课-在项目中使用requirejs分离controller文件和server文件_第1张图片

这是一个简单的项目,业务逻辑代码也很少,这样子实现并没有什么问题,但是当我们的项目越写越多,业务逻辑越来越复杂。如果我们还是把所有的控制器写到同一个文件里面,那可能我们将要面对的就是一个有着上万行代码的文件。每次编辑只能通过搜索关键字来定位了。

所以真正编辑项目的时候我们应该都是把单独的controller分离出来的,本次教程中使用的是requirejs。

首先我们应该先把单独的controller提取出来,保存到单独的文件中,第一步我们先把代码拷贝出来,并不做修改。

先不管报错,我们只是先理解一下,文件分离的内容。

新建两个文件夹用于存放controller和server文件,便于管理。

ionic入门教程第三课-在项目中使用requirejs分离controller文件和server文件_第2张图片

然后我们要做的就是将单独的controller文件和controllers文件关联起来。

首先我们先引用requirejs文件,下载requirejs文件放到项目文件夹中并在index.html中引用。

然后我们修改controllers/controllers.js文件,使他符合requireJs要求的规范。


然后分别修改单独的controller文件,让他们也符合规范。

ionic入门教程第三课-在项目中使用requirejs分离controller文件和server文件_第3张图片

通过上面的修改,应该不难发现,要把现有的项目完成文件分离只需要复制代码就可以了,并不需要修改业务逻辑。

接下来我们要做的就是把这些文件关联起来。

修改controllers文件:


这样子我们就完成了controller文件的分离和关联,但是有些controller文件有用到服务,所以我们也要在controllers文件中关联服务文件。

在controllers文件中加入var services= require('services/services');

同样的做法,修改servers文件,将里面的服务独立出来。修改后的文件目录和services文件如下。


ionic入门教程第三课-在项目中使用requirejs分离controller文件和server文件_第4张图片

这样子我们就实现了controller和server文件的分离,现在我们将项目中的其他文件也修改成requireJs的规范,并使用requireJs的方式来启动项目

修改app.js:(只是多了一层封装返回app对象,里面的业务不做修改)

ionic入门教程第三课-在项目中使用requirejs分离controller文件和server文件_第5张图片

修改的地方都差不多了,接下来跟着我看一下如何使用require的方法启动Ionic项目。

首先在index文件中引用requireJs的script标签中加入 data-main="js/main.js"属性,表示启动入口的文件地址。

<script data-main="js/main.js" src="js/require.js"> </script>
新建main.js,这里不做详细的配置,只是定义了一个简单的程序入口

说明程序是从bootstrap文件启动的
新建bootstrap.js这里做了一些简单的判断,如果觉得不好理解的话,可以直接启动项目
angular.bootstrap(document, [app.name]);
ionic入门教程第三课-在项目中使用requirejs分离controller文件和server文件_第6张图片
修改index.html去除ng-app="starter"把<body ng-app="starter">修改成<body>
运行项目,正常启动项目,从界面上看不出与新建项目的区别。
到此本次教程的内容就全部完成了。
项目Demo地址:http://pan.baidu.com/s/1eSi7huE
如果你还有什么其他的问题,可以通过以下方式找到我
QQ:448627663
E-mail:448627663
新浪微博:小虎Oni
微信公众号:ionic__

有其他问题的可以关注一下公众号提问(右侧双下划线):ionic__
ionic入门教程第三课-在项目中使用requirejs分离controller文件和server文件_第7张图片 
 
 

你可能感兴趣的:(server,require,ionic)