NodeJS平台下的前后端文件共享
一、前后端文件共享的需要背景——为什么需要共享?
- 项目基本JS/NodeJS全端开发,有部分
代码前后端都需要用得到 - 有一些
配置是在前后端都需要用得到的
区别其他开发平台,NodeJS平台下的前后端文件共享,可以是文件不经修改的前后台互用。
需要有一套规范来管理和组织前后端共用的文件。
二、可选方案
- Browserify
- 静态资源目录
- 构建方式
- 服务器端IO处理
| 方案 | 优点 | 缺点 |
|---|---|---|
| Browserify | 服务器端支持好 | 封装出来为AMD标准,前台需要依赖requireJS |
| 静态资源目录 | 组织方式简便 | 1、前端无法进行压缩、合并 2、如将公用文件放在根目录,则代码超出了前、后台工程目录,破坏了代码组织形式 |
| 构建 | 可解决压缩问题 | 发布时必须经过构建命令处理 |
| 服务器端IO处理 | 文件目录组织灵活 | 前端无法进行压缩、合并 |
三、计划采用方案——构建方式
fullstack_modules目录
目录定义
建立构建共享目录fullstack_modules;
并通过webserver容器设置为静态目录;
前、后端均直接调用;前、端引用
前端使用script-src引用;
后端使用require引用;前端构建
通过grunt进行压缩、合并操作需要生成新文件时,将文件COPY到其他目录;
NodeJS平台下的前后端文件共享的更多相关文章
- 项目平台统一(前后端IDE、代码风格)
项目平台统一(前后端IDE.代码风格) 记录人:娄雨禛 前端:Webstorm(HTML+CSS+JavaScript) 后端:IntelliJ IDEA(Java) 代码风格:Java风格代码 代码 ...
- 对GraphQL-BFF:微服务背景下的前后端数据交互方案的研究-------引用
随着多终端.多平台.多业务形态.多技术选型等各方面的发展,前后端的数据交互,日益复杂. 同一份数据,可能以多种不同的形态和结构,在多种场景下被消费. 在理想情况下,这些复杂性可以全部由后端承担.前端只 ...
- Docker环境下的前后端分离项目部署与运维
本教程将从零开始部署一个前后端分离的开源项目,利用docker虚拟机的容器技术,采用分布式集群部署,将项目转换成为高性能.高负载.高可用的部署方案.包括了MySQL集群.Redis集群.负载均衡.双机 ...
- Docker环境下的前后端分离项目部署与运维(九)后端项目部署与负载均衡
数据库准备 建立数据库 renren_fast ,然后运行renrenfast项目中的db文件夹内的脚本 -- 菜单 CREATE TABLE `sys_menu` ( `menu_id` bigin ...
- Docker环境下的前后端分离项目部署与运维(六)搭建MySQL集群
单节点数据库的弊病 大型互联网程序用户群体庞大,所以架构必须要特殊设计 单节点的数据库无法满足性能上的要求 单节点的数据库没有冗余设计,无法满足高可用 单节点MySQL的性能瓶领颈 2016年春节微信 ...
- Docker环境下的前后端分离项目部署与运维(七)Redis高速缓存
Redis高速缓存 利用内存保存数据,读写速度远超硬盘:可以减少I/O操作,降低I/O压力. 发红包.抢红包的数据可以存在高速缓存中,加快处理速度,不需要经过数据库 淘宝首页一些优惠活动商品等热数据可 ...
- Docker环境下的前后端分离项目部署与运维(十一)Docker Swarm技术
Docker Swarm技术 docker swarm技术(之前的docker集群都是在 一个虚拟主机上的,但是如果这个主机挂掉了over了,docker技术就是多个虚拟主机形成一个集群) Swarm ...
- Window下,前后端分离项目,登录权限验证中的,Redis相关操作
[1]官网下载Redis(解压版) https://redis.io/download [2]切换到目录下打开DOS,执行指令启动Redis redis-server.exe redis.window ...
- Docker环境下的前后端分离项目部署与运维(十二)使用Portainer管理Docker
安装 docker hub地址:https://hub.docker.com/r/portainer/portainer/ # 每台服务器都要安装 docker pull portainer/port ...
随机推荐
- JavaWeb学习总结(六):HttpServletRespone对象(二)
一.HttpServletResponse常见应用——生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类, 生成随机图片范例: package gacl.r ...
- SEO之网站被惩罚
- [转]web使用Quartz.NET实现作业调度
转自 https://www.cnblogs.com/best/p/7658573.html 一.Quartz.NET介绍 Quartz.NET是一个强大.开源.轻量的作业调度框架,是 OpenSym ...
- CSS3之word-wrap英文单词溢出强制换行
语法 word-wrap: normal|break-word; 所有主流浏览器都支持 word-wrap 属性. <div style="border:1px #f00 solid; ...
- Web开发须知的浏览器内幕 缓存与存储篇(2)
本文禁止转载,由UC浏览器内部出品. 3. HTTP Cache 综述 HTTP Cache是完全按照IETF规范实现的,最新的RFC规范地址是 https://tools.ietf.org/html ...
- Linux开篇
1.为什么学习Linux? 2.学习Linux的资料
- 通过Application存取公共数据比如登录信息等..
Android系统在运行每一个程序应用的时候,都会创建一个Application对象,用于存储与整个应用相关的公共变量.一个Android应用只会生成一个Application对象,在不同的Activ ...
- Vue实例对象的数据选项(火柴)
前言 一般地,当模板内容比较简单的时候,使用data选项配合表达式即可.涉及到复杂逻辑时,则需要用到methods.computed.watch等方法.本文将详细介绍Vue实例对象的数据选项. dat ...
- 泛型< ? extends > <? super> 理解
public class Test { public static void main(String [] args){ Plate<? extends Fruit> p = new Pl ...
- 学习笔记:IIS搭建PHP网站出现404错误的解决办法
关于404错误提示相信大家都遇到过吧,记得我遇到这个问题的时候,弄得我焦头烂额的,今天给大家分享下,使用IIS大家PHP网站时出现404错误提示的处理方法,希望对各位朋友有所帮助.IIS搭建PHP出现 ...