文档章节

nodejs+grunt+mocha+express+postgres搭建开发环境

深山猎人
 深山猎人
发布于 2015/01/21 17:20
字数 458
阅读 1354
收藏 5

nodejs/bower/grunt/mocha/express/postgres搭建开发环境


    0. nodejs 流行的异步IO解决方案,链接[http://nodejs.org/](http://nodejs.org)
    1. bower 前段框架管理工具 
    2. grunt 自动化工具[gruntjs.com](gruntjs.com)
    3. mocha 自动化单元测试[http://mochajs.org/](http://mochajs.org)
    4. express nodejs界最有名气的开源框架[http://expressjs.com/](http://expressjs.com/)
    5. postgresql 开源数据中的佼佼者[http://www.postgresql.org/](http://www.postgresql.org/)

nodejs+express


负责与数据库交互,处理用户请求

bower


负责管理前段文件,例如 jquery, bootstrap等等, bower自动处理类库之间兼容问题,以及依赖问题,例如bootstrap依赖jquery, bower install bootstrap --save会自动安装合适版本的jquery,或检查已经安装的类库是否兼容

grunt


自动将前段css, JS合并,打包压缩,生成 lib.min.js phone.min.js, lib.min.css, phone.min.css等
自动化测试
自动化npm install 等等

mocha


一个稳健的项目少不了单元测试,mocha是一个不错的单元测试工具,支持异步测试,延时测试,生成测试报告等等

postgres


postgres 强大之处,支持数据库编程,您可以将负责的业务逻辑写成函数,使用node调用数据库函数即可

Gruntfile.js


module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    cssmin: {    //压缩css
      target: {
        files: [
          {
            src: "public/lib/*.css",
            dest: "public/dist/lib.min.css"
          },
          {
            src: "public/stylesheets/*.css",
            dest: "public/dist/<%=pkg.name%>.min.css"
          }
        ]
      }
    },
    bower_concat: {    //合并 bower 安装的前段文件
      all: {
        dest: "public/lib/<%= pkg.name%>.js",
        cssDest: "public/lib/<%= pkg.name%>.css"
      }
    },
    uglify: {    //压缩js文件
      options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
      },
      my_target: {
        mangle: false,
        files: [
          {
            src: "public/src/*.js",
            dest: "public/dist/<%=pkg.name%>.min.js"
          },
          {
            src: "public/lib/*.js",
            dest: "public/dist/lib.min.js"
          }
        ]
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-cssmin');
  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.loadNpmTasks('grunt-bower-concat');

  // Default task(s).
  grunt.registerTask('default', ['cssmin','bower_concat', 'uglify']);

};

© 著作权归作者所有

深山猎人
粉丝 16
博文 41
码字总数 20647
作品 0
朝阳
后端工程师
私信 提问
为什么用Docker,Docker究竟有什么用呢

近年来,Docker越来越火爆,一大堆新概念,轻量级虚拟机,集装箱等概念,眼光缭乱。 慢慢也尝试用vagrant+docker搭建开发环境 和 服务器也用docker搭建测试环境,再逐步正式环境也用上docke...

小和
2016/11/03
313
2
Vagrant 打造跨平台的开发环境

两个项目开发下来,因团队环境不一样,整合修bug成为了一件苦差事。虽然后来搭建了一台测试服务器,但是有时候受网络原因,还是不能连接到测试服务器上。因团队成员能力和习惯都不一样,有的...

cjp路人
2014/08/24
381
0
Symbian开发系列 - 入门篇

要开始我的Symbian开发之旅了, 先收集一些相关资料,如Symbian概述, 开发平台搭建, 参考书籍与网络资源. 【基础】 什么是Symbian 学习Symbian的基本概念 Symbian操作系统 Symbian 入门 【转】...

长征2号
2017/08/09
0
0
webpack4手动搭建Vue开发环境实现todoList项目

前言 平常在工作开发中,为了效率我们通常都会直接使用Vue-cli脚手架去搭建Vue开发环境,确实这种工具是节省了我们不少时间,但是你有没有想过Vue开发环境是如何搭建起来的?还有如果是你自己...

茉莉灬纯洁的白
05/16
0
0
【PHP公开课】Docker之编程环境应用

课程介绍 Docker 是一个开源的应用容器引擎。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完...

萤火虫的秋
2018/05/04
25
0

没有更多内容

加载失败,请刷新页面

加载更多

mac下redis安装、设置、启动停止

常用命令说明 redis服务器:redis-server redis客户端:redis-cli redis性能测试工具:redis-benchmark AOF文件修复工具:redis-check-aof RDB文件修复工具:redis-check-rd redis设置临时密...

botkenni
14分钟前
3
0
好程序员web前端分享HTML5常见面试题集锦四

好程序员web前端分享HTML5常见面试题集锦四 1、为什么要初始化CSS样式? 答案:因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面...

好程序员官方
15分钟前
2
0
CDN的网络架构是什么?

CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cac...

云漫网络Ruan
15分钟前
2
0
pandas入门07---可视化

01 入门 制作提供信息的可视化是数据分析的重要任务之一。首先介绍一下matplotlib库。 import matplotlib.pyplot as pltimport numpy as npdata = np.arange(10)print(data)plt.plot(da...

筠初
16分钟前
2
0
201_PyTorch中文教程:Torch与Numpy互操作

201_PyTorch中文教程:Torch与Numpy互操作 Numpy是经典的数学计算库,Torch中的Tensor可以与之互相转换,从而可以充分利用二者的计算函数和模型,以及使用其它支持Numpy的软件库和工具。但需...

openthings
17分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部