技术栈
觉得好的欢迎点个 star ^_^。
演示
目录
- ├─bin│www // 后端 服务器
- │database // 后端 数据库
- │socket // 后端 socket
- | router // 后端 路由
- ├─sessions // 后端 session
- ├─public│src // 前端 开发目录
- │dist // 前端 线上目录
- ├─routes // 前端 路由
- ├─view // 前端 页面
- ├─app.js // 前端 服务器
- ├─gulpfile.js // 前端 Gulp
- ├─package.json
安装
Windows 安装教程 | Linux 安装教程
- git clone https: //github.com/bergwhite/nodejs-chat // 克隆项目
- cd nodejs - chat // 进入目录
- npm install // 安装依赖
- npm run build // 构建 线上代码
- npm run mongod // 开启 数据库
- npm run start // 开启 聊天室
功能
优化
等特殊标签
- < >
踩坑
图灵机器人不支持跨域,通过代理中间件把请求代理到本地。
- var proxy = require('http-proxy-middleware');
- app.use('/api/robot', proxy({
- target: 'http://www.tuling123.com',
- changeOrigin: true
- }));
Gulp 使用通配符对多个文件处理,会压缩到一个文件中。以下是分别进行压缩的方式。
- const gulp = require('gulp'),
- minifyJS = require('gulp-uglifyjs'),
- babel = require('gulp-babel'),
- rename = require('gulp-rename');
- const compileDir = {
- CSS: {
- src: 'public/src/css/index.less',
- dest: 'public/dist/css'
- },
- js: {
- src: 'public/src/js/',
- dest: 'public/dist/js'
- }
- };
- gulp.task('compile-js', () = >{
- const JSTaskList = ['index', 'login', 'mobile', 'room', 'roomAdd', 'userInfoMod', 'roomMember']
- return JSTaskList.map((e) = >{
- gulp.src(`$ {
- compileDir.js.src
- }
- $ {
- e
- }.js`).pipe(babel({
- presets: ['es2015']
- })).pipe(minifyJS()).pipe(rename((path) = >{
- path.basename += '.min'
- })).pipe(gulp.dest(compileDir.js.dest))
- })
- });
gulp-uglifyjs - No files given; aborting minification
- 之前删除了一个JS文件,但是没有删除JSTaskList中的对应值。编译时会报上面的错误。删除对应的值就编译成功了。
来源: http://www.cnblogs.com/bergwhite/p/7231961.html