[FE] 有效开展一个前端项目1
今天的前端如果没有用到 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的更多相关文章
- [FE] 有效开展一个前端项目2 (vuejs-templates/webpack)
1.安装 nodejs.npm $ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - $ sudo apt-get i ...
- [front]有效开展一个前端项目
今天的前端如果没有用到 npm,效率是比较低的:所以要从使用的工具来讲. 1. 一切都依赖于 nodejs: 下载一个 linux 的源码包就可以开始安装了. $ wget https://nodej ...
- 使用gulp来构建一个前端项目
什么是gulp? gulp是一个前端项目构建工具,是自动化项目的构建利器,它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成.你可以使用gulp及其插件对你的项目代码 ...
- 从一个前端项目实践 Git flow 的流程与参考
Git flow 出自 A successful Git branching model,这里使用了一个前端项目配合本文稿实施了 git flow 并记录流程作出示例和参考,对 hotfix 与持续部 ...
- vsCode怎么为一个前端项目配置ts的运行环境
vsCode为一个前端项目配置ts的运行环境,ts文件保存的时候自动编译成js文件: 假设此前端项目名称为Web:文件结构如图 1. 在根目录中新建一个“.vscode”文件夹,里面建一个“tasks ...
- webpack(构建一个前端项目)详解--升级
升级一个正式的项目结构 分离webpack.config.js文件: 新建一个webpack.config.base.js任何环境依赖的wbpack //public webpack const pa ...
- webpack(零工程构建一个前端项目)详解
工作流程记录: 1.初始化项目:npm init -y 2.安装webpack,vue,vue-loader npm install webpack vue vue-loader 3.按装之后根据警告 ...
- 前端项目中gulp的使用
在公司项目开发中,有一个前端项目,我们使用gulp来生成目标文件(css,js,html文件) 进入到这个项目目录中 C:\My Project\FrontEnd\TestBuilder 然后依次运 ...
- [Vue 牛刀小试]:第十六章 - 针对传统后端开发人员的前端项目框架搭建
一.前言 在之前学习 Vue 基础知识点的文章中,我们还是采用传统的方式,通过在 html 页面上引用 vue.js 这个文件,从而将 Vue 引入到我们的项目开发中.伴随着 Node.js 的出现, ...
随机推荐
- 王者荣耀交流协会第五次Scrum立会
会议时间:2017年10月24号 11:40-12:12,时长32分钟. 会议地点:信息科学与技术学院107教室 昨天工作: 组长使用ZedGraph实现了折线图的生成,基本符合需求,组员们分别完 ...
- 姿势估计实验-Realtime_Multi-Person_Pose_Estimation-CMU
前言: 论文及源代码网址: https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation 地址2: https://github.com/ ...
- Linux命令学习之路-文档浏览之less
使用权限:所有角色 使用方式:less [ options ] filename 作用:文档内容浏览,可向前或者向后浏览文档内容 注意点: 1.less 命令和 more 命令的作用大致相同,less ...
- day01计算机基础
今日内容 1.计算机初步认识 1.计算机认识 1. 计算机基础 1.1硬件:cpu/内存/硬盘/主板/网卡 1.2操作系统 linux:免费开源 windows mac 1.3解释器/编译器 补充:编 ...
- 学习笔记TF015:加载图像、图像格式、图像操作、颜色
TensorFlow支持JPG.PNG图像格式,RGB.RGBA颜色空间.图像用与图像尺寸相同(height*width*chnanel)张量表示.通道表示为包含每个通道颜色数量标量秩1张量.图像所有 ...
- react 点击空白处隐藏弹出层
点击空白处隐藏弹出层的原理是:在 document 上绑定事件来隐藏弹出层,这样点击任何元素的时候都会冒泡到 document 上,都会执行隐藏弹出层的功能.然后我们在不需要隐藏弹出层的元素上阻止冒泡 ...
- jquery中使元素显示和隐藏方法之间的区别
在实际的项目开发中,要使一个元素隐藏的方法有很多,比如css的多种属性和jquery的多种方法,虽然他们的作用都是使元素不可见,但是各个方法实现的原理是不一样的.下面主要介绍jquery各个元素隐藏方 ...
- 第2章 Java基本语法(下): 流程控制--项目(记账本)
2-5 程序流程控制 2-5-1 顺序结构 2-5-2 分支语句1:if-else结构 案例 class IfTest1{ public static void main(String[] args) ...
- WebForm AnyWay
项目地址 : https://github.com/kelin-xycs/WebFormAnyWay WebForm AnyWay 用 WebForm 构建 简洁高效 的 Web 应用 WebFor ...
- Mongo数据库基本操作
从这两个类的继承来看,connection是继承了MongoClient的,建议使用MongoClient而不是使用Connection.(也就是说,MongoClient可以使用方法Connecti ...