今天的前端如果没有用到 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

[FE] 有效开展一个前端项目1的更多相关文章

  1. [FE] 有效开展一个前端项目2 (vuejs-templates/webpack)

      1.安装 nodejs.npm $ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - $ sudo apt-get i ...

  2. [front]有效开展一个前端项目

    今天的前端如果没有用到 npm,效率是比较低的:所以要从使用的工具来讲. 1. 一切都依赖于 nodejs: 下载一个 linux 的源码包就可以开始安装了. $ wget https://nodej ...

  3. 使用gulp来构建一个前端项目

    什么是gulp? gulp是一个前端项目构建工具,是自动化项目的构建利器,它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成.你可以使用gulp及其插件对你的项目代码 ...

  4. 从一个前端项目实践 Git flow 的流程与参考

    Git flow 出自 A successful Git branching model,这里使用了一个前端项目配合本文稿实施了 git flow 并记录流程作出示例和参考,对 hotfix 与持续部 ...

  5. vsCode怎么为一个前端项目配置ts的运行环境

    vsCode为一个前端项目配置ts的运行环境,ts文件保存的时候自动编译成js文件: 假设此前端项目名称为Web:文件结构如图 1. 在根目录中新建一个“.vscode”文件夹,里面建一个“tasks ...

  6. webpack(构建一个前端项目)详解--升级

    升级一个正式的项目结构 分离webpack.config.js文件: 新建一个webpack.config.base.js任何环境依赖的wbpack //public webpack const pa ...

  7. webpack(零工程构建一个前端项目)详解

    工作流程记录: 1.初始化项目:npm init -y 2.安装webpack,vue,vue-loader npm install webpack vue vue-loader 3.按装之后根据警告 ...

  8. 前端项目中gulp的使用

    在公司项目开发中,有一个前端项目,我们使用gulp来生成目标文件(css,js,html文件) 进入到这个项目目录中  C:\My Project\FrontEnd\TestBuilder 然后依次运 ...

  9. [Vue 牛刀小试]:第十六章 - 针对传统后端开发人员的前端项目框架搭建

    一.前言 在之前学习 Vue 基础知识点的文章中,我们还是采用传统的方式,通过在 html 页面上引用 vue.js 这个文件,从而将 Vue 引入到我们的项目开发中.伴随着 Node.js 的出现, ...

随机推荐

  1. 自动化测试-11.selenium的下拉框处理类Select

    前言 最近由于工作原因,更新慢了一点,今天终于抽出一点时间给大家继续更新selenium系列,学习的脚本不能停止,希望小伙伴能多多支持. 本篇以百度设置下拉选项框为案例,详细介绍select下拉框相关 ...

  2. 第一篇,java学习之旅

    在java的这座殿堂中,我才刚刚推开了大门,就像是在岔路口找到了一条,走向前进java大门的路. 下面是一些java算法的问题 第一题: package project.model; import j ...

  3. Xcodebuild ipa shell

    命令行下打包iOS App工程: #!/bin/sh # # How To Build ? #http://www.jianshu.com/p/3f43370437d2 #http://www.jia ...

  4. AutoHotKey (AHK) 按键表+自定义快捷键简化操作的教程

    自定义快捷键简化操作的教程 ① 下载安装AutoHotKey,并用记事本新建一个MyHotKey.ahk文件,录入如②中信息 ② 下图可以实现,按F6即可触发“Ctrl+C”的复制快捷键,同理F7可实 ...

  5. spring jpa Pageable 分页之---多条件排序

    Sort sort = new Sort(Direction.ASC, "sort").and(new Sort(Direction.DESC, groupField));//排序 ...

  6. mysql查询出现In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'zhibo.a.id';

    出现问题: Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In ...

  7. 原来bug解决了,是这样的感觉

    终于过了,感觉好想哭啊,又莫名其妙的爽,原来这就是bug

  8. PHP处理上传文件信息数组中的文件类型 正确获取

    PHP处理上传文件信息数组中的文件类型$_FILES['type']由客户端浏览器提供,有可能是黑客伪造的信息,请写一个函数来确保用户上传的图像文件类型真实可靠 如果是一般文件则通过 mime_con ...

  9. react-router 父子路由同时要接收 params 的写法

    <Route path="/profile/:companyId/:companyName" component={Profile} onEnter={(nextState, ...

  10. day01-计算机原理与操作系统