npm pack - npm install .tgz 离线安装 前端开发环境

为什么有这个需求

曾经出差,到一个机构里面,里面是局域网,没有外网。后台都是java,刻录个光盘,然后就把开发环境装好了,就直接开发了。

我进去后,由于不能离线安装开发环境,导致楼上楼下跑,效率极低,开发还特别慢。

延展

  1. 开发electronjs,那搞一个开发环境,能慢死。而且下次再开发,又装环境的时候,又得脑袋疼一波。用离线安装方式,就直接解决了痛点。
  2. 有些项目,copy回家,继续搞,家里网不好。用离线安装。
  3. 做一些教学,把开发代码发给学生们。这样好学好练习。

原理

npm pack 可以将一个库打包成 xxx.tgz

npm instal xxx-tag.tgz 可以将 压缩包离线安装

然后看到一个项目,批量打包,来的灵感。之前研究过离线安装,都失败了,这次测试是ok的。

https://gitee.com/git_zs/output_tgz_npm

上面这个项目 的打包过程不是很好。我改为针对手工操作了。

重点 备份package.json

备份package.json 备份package.json 备份package.json 重要的事情说三遍。

离线安装后会修改package.json

第一步 正常安装一遍

npm install

第二步 pack

将package.json 里面的 dependencies 和 devDependencies 都copy到一个文本中

然后只要名字 再拼个字符串 最后都弄成一行 用& 连接

pack.bat

npm pack debug & npm pack koa & npm pack koa-bodyparser & npm pack koa-convert & npm pack koa-json & npm pack koa-logger & npm pack koa-onerror & npm pack koa-router & npm pack koa-send & npm pack koa-static & npm pack koa2-cors & npm pack mime-types & npm pack mysql & npm pack open & npm pack sqlite & npm pack cross-env & npm pack nodemon & npm pack pkg & npm pack portfinder

第三步 move

把这些tgz的包 都放到n的目录,具体名字自己看都行

第四步 install (可以换个目录,copy代码,不要带上node_modules)

附送个获取文件名 dir > a.txt

install.bat

npm install n\cross-env-7.0.3.tgz & npm install n\debug-4.3.4.tgz & npm install n\koa-2.13.4.tgz & npm install n\koa-bodyparser-4.3.0.tgz & npm install n\koa-convert-2.0.0.tgz & npm install n\koa-json-2.0.2.tgz & npm install n\koa-logger-3.2.1.tgz & npm install n\koa-onerror-4.2.0.tgz & npm install n\koa-router-10.1.1.tgz & npm install n\koa-send-5.0.1.tgz & npm install n\koa-static-5.0.0.tgz & npm install n\koa2-cors-2.0.6.tgz & npm install n\mime-types-2.1.35.tgz & npm install n\mysql-2.18.1.tgz & npm install n\nodemon-2.0.18.tgz & npm install n\open-8.4.0.tgz & npm install n\pkg-5.7.0.tgz & npm install n\portfinder-1.0.28.tgz & npm install n\sqlite-4.1.1.tgz & npm install .\sqlite3-5.0.8.tgz

本项目特殊

由于有的文件不好下载,所以通过特殊手段,离线下载后,再copy到包里

copy.bat

copy .\node_sqlite3.node .\node_modules\sqlite3\lib\binding\napi-v6-win32-unknown-x64\node_sqlite3.node

最后就能运行 npm run dev

npm pack - npm install .tgz 离线安装 前端开发环境的更多相关文章

  1. 离线安装Android开发环境的方法

    对于大家从官网上下载下来的SDK其实是一个安装工具,里面啥都没有,如果在线安装的话会需要很长时间.我们同样可以从网络上用下载工具将所需要安装的东西下载下来,(同样有劳大家自己动手找找了)然后直接放入相 ...

  2. 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目

    自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...

  3. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  4. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  5. 【Yeoman】热部署web前端开发环境

    本文来自 “简时空”:<[Yeoman]热部署web前端开发环境>(自动同步导入到博客园) 1.序言 记得去年的暑假看RequireJS的时候,曾少不更事般地惊为前端利器,写了<Sp ...

  6. 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  7. 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...

  8. 用 Docker 快速配置前端开发环境

    来源于:http://dockone.io/article/1714 今天是你入职第一天. 你起了个大早,洗漱干净带着材料去入职. 签了合同,领了机器,坐到工位,泡一杯袋装红茶,按下开机键,输入密码, ...

  9. 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

    用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...

  10. 用grunt搭建自动化的web前端开发环境-完整教程

    原稿:http://www.cnblogs.com/wangfupeng1988/p/4561993.html#!comments jQuery在使用grunt,bootstrap在使用grunt,百 ...

随机推荐

  1. 21.6 Python 构建ARP中间人数据包

    ARP中间人攻击(ARP spoofing)是一种利用本地网络的ARP协议漏洞进行欺骗的攻击方式,攻击者会向目标主机发送虚假ARP响应包,使得目标主机的ARP缓存中的IP地址和MAC地址映射关系被篡改 ...

  2. Mygin中间件优化及日志中间件

    本篇是mygin的第七篇,参照gin框架,感兴趣的可以从 Mygin第一篇 开始看,Mygin从零开始完全手写,在实现的同时,带你一窥gin框架的核心原理实现. 目的 中间件Middleware优化 ...

  3. Azure Data Factory(十二)传参调用 Azure Function

    一,引言 在实际的项目中,Azure Data Factroy 中的 Data Flow 并不能彻底帮我们完成一系列复制逻辑计算, 比如我们需要针对数据集的每一行数据进行判断计算,Data Flow ...

  4. (python)每日代码||2024.1.29||斐波那契数列第i个数函数

    def fib(n): a, b = 0, 1 for _ in range(n): a, b = b, a + b return a

  5. spring cloud与加密库jasypt(ulisesbocchio)冲突问题定位

    背景 最近在项目上遇到个问题.项目就是普通的spring cloud,spring cloud在spring boot的基础上多了一些东西,比如支持bootstrap上下文(通过bootstrap.y ...

  6. C#/.NET该如何自学入门?

    前言 随着DotNetGuide技术社区交流群的不断壮大(目前4个群都已经满500人,已开5群现已有180多个小伙伴),越来越多应届生和其他领域的小伙伴加入了我们这个大家庭.在此期间我在个人微信.公众 ...

  7. 快速上手typescript(基础篇)

    壹 ❀ 引 在javascript开发中,你可能也遇到过我这样的苦恼,在维护某段几年前的老旧代码时,我发现了某个数据加工方法fn,而且根据现有逻辑来看fn的某个参数是一个数组,因为新需求我需要对数组做 ...

  8. 【OpenGL ES】绘制立方体

    1 前言 ​ 本文主要介绍使用 OpenGL ES 绘制立方体,读者如果对 OpenGL ES 不太熟悉,请回顾以下内容: 绘制三角形 绘制彩色三角形 绘制正方形 绘制圆形 ​ 在绘制立方体的过程中, ...

  9. paste命令

    paste命令 paste命令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [OPTION]... [FILE]... 参数 -d, --delimiters=[LIST]: 用指 ...

  10. Swoole从入门到入土(2)——TCP服务器[初步接触]

    我们知道Swoole弥补了PHP没办法实现长连接的短板,在接下来的话题中,我们会从TCP服务器.HTTP服务器.WebSocket服务器.协程.管道.中间件等话题,一个个进行讨论. 1.开篇 我们以S ...