# 基于koa webpack 的网站开发模板 **Repository Path**: ycg520520/web_template ## Basic Information - **Project Name**: 基于koa webpack 的网站开发模板 - **Description**: 基于koa webpack 的网站开发模板 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2018-08-20 - **Last Updated**: 2023-07-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于koa开发的网站 支持nodejs渲染及api代理服务的模版项目,web框架基于koa2,支持webpack项目自动化打包构建。 ## 目录结构 ``` text ├─ build: 启动及打包脚本; ├─ core: 架构核心文件的目录; ├─ dist: 存放上线打包文件的目录; ├─ doc: 存放开发相关说明需求等文档的目录; ├─ logrotate: 日志切割配置文档的目录 ├─ src/: 开发目录; │ ├─ config: 开发项目配置文件文件的目录; │ ├─ controller: 存放控制器代码文件的目录; │ ├─ middleware: 存放中间件文件的目录; │ ├─ router: 存放路由文件的目录; │ ├─ service: 存放模型api文件的目录; │ └─ static: 存放前端静态资源文件的目录; │ ├─ image: 静态资源图片文件的目录; │ ├─ js: 静态资源js文件的目录; │ ├─ favicon.ico: 网站图标文件; │ └─ style: scss原始文件的目录; │ ├─ utils: 存放自定义代码库文件的目录; │ └─ view: 存放主题模版文件的目录; │ └─ default: 网站默认主题文件的目录; │ └─ index.js: 启动入口文件 ├─ test: 存放测试文件的目录; ├─ .babelrc: 统一编码配置文件,`针对babel编译`; ├─ .editorconfig: 统一编码配置文件,`针对支持editorconfig编辑器`; ├─ .eslintignore: js语法忽略校验配置文件; ├─ .eslintrc.js: js语法校验配置文件; ├─ .gitignore: 这是git忽略配置文件,`推送到git时忽略的文件配置列表`; ├─ gulpfile.js: gulp打包资源开发模式; ├─ launched.json: pm2启动配置文件; ├─ Makefile: shell脚本配置; ├─ package.json: 开发运行依赖包配置文件; ├─ README.md: 项目阅读说明文件; └─ shipitfile.js: 自动化部署配置 ``` ## 特点 > 1. MVC代码风格 > 2. koa2 > 3. ejs模板引擎 > 4. es6/es7语法支持 > 5. 一键webpack自动构建/前端资源热加载/node模块自动重启 > 6. 自动图标雪碧图 > 7. 主题切换 ## 安装 ``` bash git clone https://git.oschina.net/ecycode/nodeserv.git # 克隆项目 cd acgn_koa_template # 进入到项目文件夹 npm install # 安装项目运行的npm包 npm install -g pm2 # 全局安装pm2服务器管理工具 ``` ## 开发模式 ### webpack方式 ``` bash npm start # 运行开发环境或者npm run dev npm run build # 构建前端项目 ``` ### gulp开发模式 ``` bash npm run gulp # 运行gulp开发环境 ``` ### 公共bash ``` bash npm run prod # 运行生产环境 npm run pm2 # pm2管理生产环境 npm run unit # 单元测试 npm run test # 测试 ``` ## 部署 ``` bash shipit test deploy # 发布到测试环境 shipit prod deploy # 发布到生产环境 ``` ## 注意 > 在webpack模式下自动生成了asset.`${evn}`.json,中间件请使用asset > 在gulp模式下目前还没自动生成asset.json需要手动维护资源树,中间件使用asset_gulp ## 屏幕截图 ![img](https://avatars3.githubusercontent.com/u/2937870?v=3&s=460)