[FE] 有效开展一个前端项目-V1 (gulp/angular)

今天的前端如果没有用到 npm,效率是比较低的;所以要从使用的工具来讲。

1. 一切都依赖于 nodejs:

  下载一个 linux 的源码包就可以开始安装了。

  $ wget https://nodejs.org/dist/v4.4.7/node-v4.4.7.tar.gz
  $ ./configure --prefix=/usr/local/nodejs
  $ make && sudo make install

  装好后,npm 已经在/usr/local/nodejs/bin/npm。

  如果之前有安装过 nodejs 的情况,最好确认下当前使用的是否是刚安装的命令:

  $ which node
  $ which npm

  把不需要的旧版本删除即可。

2. 用 npm init 建一个项目依赖包的说明文件 package.json: 

{
  "name": "front",
  "description": "my application",
  "version": "0.0.1",
  "author": {
    "name": "farwish"
  },  
  "main": [
    "index.js"
  ],
  "license":"MIT", 
  "repository":{},
  "dependencies": {
  }
}

3. 任务流命令 gulp:

  先把 nodejs 的命令加到环境变量里,可以直接加 /usr/local 到 PATH 中。

  ( PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local )

  $ source ~/.bash_profile
  $ npm install -g gulp     # 全局安装,gulp 命令会装到 /usr/local/nodejs/bin/
  $ npm install gulp --save  # 安装到当前项目的 node_modules/,并写入package.json的dependencies

  如果出现权限错误,一般是 /usr/local/nodejs/lib/node_modules 没有写权限,全局安装用 root 用户;

  本地 Local gulp 用普通用户安装,把 npm 建立在项目中的 node_modules/ 所属改成当前用户和用户组。

4. 一个实用库 browserSync:

  browserSync 能检测文件变动并自动刷新浏览器,不依赖浏览器插件。

  $ npm install browser-sync --save

  (browser-sync start --server --files "src/*.html"  # 用于静态文件,监测src目录的html文件)

  (browser-sync start --proxy "localhost:8080" --file "css/*.css" # 动态站点使用代理模式)

5. 建一个任务流文件 gulpfile.js:

  在 gulpfile 中使用 browserSync 库。

var gulp = require('gulp');
var browserSync = require('browser-sync');
var path = { 
    src:"src/*.html"
};

// 名叫 browser-sync 的任务
gulp.task('browser-sync', function() {
    browserSync({
        files: "**",
        server: {
            baseDir: "./"
        }
    }); 
});

// gulp 自动执行 default 任务
gulp.task('default', ['browser-sync']);
  $ gulp   # 运行gulp,然后编辑并保存监听的文件就能看到效果

6. 第一开发框架 angularjs:

  小巧的 css 库有 pure,功能型的有 uikit,至于 bootstrap 已经满大街,随便选。

  js 框架首选 angularjs,不过库的尺寸都不小。

  angular 也是一个能快速搭建原型的工具,通过 ui-router 很容易组织页面间关系。

  完全抛弃 dom 操作和 load 操作的感觉,和 jquery 时代有巨大差别。

  angular 的难点在于概念,各种 $provider 令人迷惑,实际上框架我们知道怎么用就行,不用盯住具体哪个是什么概念,能用起来,后面省事省力。

 

Link: http://www.cnblogs.com/farwish/p/5656959.html

原文地址:https://www.cnblogs.com/farwish/p/5656959.html