技術棧css
以爲好的歡迎點個star ^_^。html
演示前端
目錄node
├─bin │ www // 後端 服務器 │ database // 後端 數據庫 │ socket // 後端 socket | router // 後端 路由 ├─sessions // 後端 session ├─public │ src // 前端 開發目錄 │ dist // 前端 線上目錄 ├─routes // 前端 路由 ├─view // 前端 頁面 ├─app.js // 前端 服務器 ├─gulpfile.js // 前端 Gulp ├─package.json
安裝git
Windows安裝教程 | Linux安裝教程github
git clone https://github.com/bergwhite/nodejs-chat // 克隆項目 cd nodejs-chat // 進入目錄 npm install // 安裝依賴 npm run build // 構建 線上代碼 npm run mongod // 開啓 數據庫 npm run start // 開啓 聊天室
功能mongodb
優化數據庫
< >
等特殊標籤部署npm
踩坑json
圖靈機器人不支持跨域,經過代理中間件把請求代理到本地。
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中的對應值。編譯時會報上面的錯誤。刪除對應的值就編譯成功了。