项目的创建和配置

使用WebStorm可以直接创建AngularJS项目,且会自动帮助你配置好项目并自动下载AngularJS等库。但是我们这里将创建一个新的空项目(Empty Project),然后一步一步的将各个需要的内容填充进来,这样我们会对使用AngularJS开发有一个更好的了解。

在WebStorm中,选择File > New Project,然后选择Empty Project,在右边的Location设置好项目的位置,然后点击界面右下角的Create即可。

图2-1 创建项目

下面我们将一步一步的完善整个项目的结构。

创建基本的文件结构

首先建立一个public目录,并在public目录中建立jscssimg三个目录。如下图所示:

图2-2 创建目录

大家对于js/css/img三个目录的设置应该比较熟悉,他们分别用于存放对应的文件,img用于存放图片文件。

但是,为什么要把他们放置到public目录中呢?

public目录设置的意义

从字面意思即可理解,public目录是用来存放供外部用户访问的内容的根目录。非public目录下的内容,既是我们不期望用户通过网络链接直接可以访问到的内容。会有哪些内容呢?

  • 产品的文档
  • 一些项目配置文件(如bower的配置文件)
  • 测试文档

这些文件我们是绝对不希望用户可以直接访问到的,通过设置一个public目录,并在部署时将网站的根目录直接指向到public目录,即可保证目录外的内容不被暴露到网络当中。

另外,这样设置的主要原因是为了使用git将整个项目都管理起来。通过git版本控制的方式来保证项目代码的完整性和安全性。具体的git的操作方法就不在本文中叙述了。

配置并初始化bower

bower的配置可以通过手动创建文件或者命令行的方法来进行。我推荐使用命令行的方式来进行创建,这样可以更好的理解配置生成的文件的内容。如果不想通过命令行创建,也可以跳过下面命令行创建的部分,直接在下方生成的文件解析的部分,将文档内容拷贝过去。

打开命令行工具

WebStorm内置了命令行工具(调用系统的命令行功能),在左下角点击Terminal即可启用。

图2-3 命令行工具

初始化bower

在命令行下运行bower init,你将会看到如下的若干选项,并会自动的在项目的根目录生成一个bower.json

注:以下的汉字部分都是额外加入的注释。

  1. //运行命令
  2. >bower init
  3. //第一次运行的时候会弹出,是否愿意提交匿名的统计信息。随意选择
  4. ? May bower anonymously report usage statistics to improve the tool over time? Yes
  5. //项目名称
  6. ? name learning_angularjs
  7. //项目说明
  8. ? description
  9. //主文件
  10. ? main file
  11. //项目的类型
  12. ? what types of modules does this package expose?
  13. //项目的关键字
  14. ? keywords
  15. //作者和联系方式
  16. ? authors Harry <harry@andtoo.net>
  17. //授权方式,如果您期望这是一个私人项目,可以输入No License
  18. ? license MIT
  19. //项目主页
  20. ? homepage
  21. //是否要把当前已经安装的模块设置为项目的依赖项?
  22. ? set currently installed components as dependencies? Yes
  23. //将常用的忽略文件项添加到列表?
  24. ? add commonly ignored files to ignore list? Yes
  25. //将项目设置为私有,防止其被误发布到网络上?
  26. ? would you like to mark this package as private which prevents it from being accidentally published to the registry? Yes
  27. //以下是生成的配置文件的预览
  28. {
  29. name: 'learning_angularjs',
  30. authors: [
  31. 'Harry <harry@andtoo.net>'
  32. ],
  33. description: '',
  34. main: '',
  35. moduleType: [
  36. ],
  37. license: 'MIT',
  38. homepage: '',
  39. private: true,
  40. ignore: [
  41. '**/.*',
  42. 'node_modules',
  43. 'bower_components',
  44. 'test',
  45. 'tests'
  46. ]
  47. }
  48. ? Looks good? Yes

命令运行完毕后,会在项目的根目录生成一个bower.json文件,里面的内容如下:

  1. //bower.json
  2. {
  3. "name": "learning_angularjs",
  4. "authors": [
  5. "Harry <harry@andtoo.net>"
  6. ],
  7. "description": "",
  8. "main": "",
  9. "moduleType": [
  10. ],
  11. "license": "MIT",
  12. "homepage": "",
  13. "private": true,
  14. "ignore": [
  15. "**/.*",
  16. "node_modules",
  17. "bower_components",
  18. "test",
  19. "tests"
  20. ]
  21. }

如果您不希望bower配置文件这么复杂,那么可以手工最简化的创建bower.json

  1. //最简化bower.json
  2. {
  3. "name": "learning_angularjs"
  4. }

只需要一个name字段即可让bower好好工作了。

.bowerrc配置文件

由于我们建立了public目录,并且项目的根目录与网站根目录不同,因此,我们需要新建一个额外的.bowerrc文件,告诉bower将组件库下载到特定的目录。

在项目根目录创建.bowerrc文件,并在其中加入如下内容:

  1. //.bowerrc
  2. {
  3. "directory": "public/components"
  4. }

以上配置文件会告诉bower将文档下载到./public/components目录中。

配置完成

至此,我们对bower的配置已经全部结束!现在项目看起来应该长这个样子:

图2-4 Bower配置完成后