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 ...
随机推荐
- Shared——The best front-end hacking cheatsheets — all in one place.
原文地址:https://medium.freecodecamp.org/modern-frontend-hacking-cheatsheets-df9c2566c72a The best front ...
- BZOJ P2157 旅游
题目大意: 维护一棵树,每条边有边权,支持下列操作:1.修改某条边的边权2.将某条路经上的边权取反3.询问某条路经上的和4.询问某条路经上的最大值5.询问某条路经上的最小值 --by BZOJ; ht ...
- gulp 打包报错:Error: `libsass` bindings not found. Try reinstalling `node-sass`
看了网上很多帖子 有说切换node版本的 有说卸载重新装gulp-sass的 有说删除node_modules重新install的 但是我测试了下在我们的电脑环境下都不行,后来找到一个可以打包不报错的 ...
- 关于 Table 表格那些三两事儿
引言 实现下列表格样式,嵌套与form表单中提交信息,为了让自己的表格可以“ 随心所欲 ” 变换自己的形式,需要两个重要的td 属性colspan 列合并 以及 rowspan 行合并 来实现,表格宽 ...
- Shellinabox安装及使用教程
本文转载自: shellinabox:一款使用 AJAX 的基于 Web 的终端模拟器 一.shellinabox简介 通常情况下,我们在访问任何远程服务器时,会使用常见的通信工具如OpenSSH和P ...
- <Android 基础(二十三)> Android Studio快捷键
前言 Android Studio对于快捷键的设置比较的灵活,开发者在从不同的平台转移到Android Studio进行Android开发的时候,应该都能找到合适的KeyMap和快捷键使用方式,因为A ...
- 《APP移动终端决胜之道视觉设计艺术》学习笔记
1.20-2.9 1.合理的层级化2.信息的整合(短信收发件箱),信息的整合就像创建文件夹,可以将相关的东西放在一起,以便于使用者搜索与查找3.(微信聊天界面)相比之下使用了对话框图形的界面,元素更加 ...
- 【眼见为实】自己动手实践理解数据库REPEATABLE READ && Next-Key Lock
[REPEATABLE READ] 首先设置数据库隔离级别为可重复读(REPEATABLE READ): set global transaction isolation level REPEATAB ...
- 2 pygraphviz在windows10 64位下的安装问题(反斜杠的血案)
可以负责任的说,这篇文档是windows10安装pygraphviz中,在中文技术网站中最新的文档,没有之一.是自己完全结合各种问题,包括调试等,总结出来的. 问题来源:主要是可视化RvNN网络的树结 ...
- vue之computed(计算属性)
所谓计算属性就是计算data里的数据属性. computed:实时监听的该功能. 即监听是否有修改(浏览器未打开时即开始监听了),监听的值有修改则添加 所监听的data数据属性变化了,自动实时修改. ...