Nodejs:node_modules 能不能做成类似 java jar 包的形式?
Nodejs:node_modules 能不能做成类似 java jar 包的形式?
目录层次太深了!
node 官方没注意到这个问题吗?
是不是目录太深,文件太多导致在 windows 的资源管理器无法复制移动?确实可怕,一个工程往往有几万个文件
npm3 扁平化了,层次不深了,文件夹多了
同感,有时候打包发给同事。如果忘了 tar --exclude=node_modules 的话,速度感人…… ;另外有时候用 ftp 上传目录,忘了排除的话,也会导致软件假死……
不知道在完成后弄成一个包是有什么技术困难还是?
原始设计好像是为了多版本依赖共存。现在最新的应该拍扁了。
LZ 赶紧升级到 npm3, npm3 安装的依赖就是在同一层目录下, 早就没有一层套一层的 node_modules 了
npm3 不是这种层级的了,是扁平化的了
npm 不就相当于 maven ?
不是有项目的配置么 删除了之后 npm install 就全装回来了
https://docs.npmjs.com/how-npm-works/npm3 这是 npm3 下载依赖的结构图
为什么 nodejs 的节点这 CSS 这么白??有什么渊源吗
npm pack 是正解
: 看了下图,感觉特么的不彻底啊,还是存在安装在某个依赖下面的依赖,假设图中的 B2.0 如果依赖另外一个第一层的依赖会怎么办。
很奇怪为毛不搞成跟 maven 一样,库名–版本号–文件的方式呢
不会写 package.json ? 别人的包怎么依赖跟你是无关的。
在Node.js生态系统中,虽然默认情况下node_modules
目录用于存储项目依赖,但确实可以通过一些工具和手段将依赖打包成类似于Java JAR包的形式,以便于分发和部署。
一种常见的方法是使用工具如pkg或nexe。这些工具可以将Node.js应用及其依赖打包成一个独立的可执行文件,类似于Java的JAR包。
以下是一个使用pkg
的简单示例:
-
安装
pkg
:npm install -g pkg
-
在你的Node.js项目根目录下,确保有一个
package.json
文件,并且已经安装了所有依赖。 -
使用
pkg
打包应用:pkg .
这将在当前目录下生成与操作系统和架构相匹配的可执行文件(例如,
my-app-linux
,my-app-macos
,my-app-win.exe
)。
通过这些可执行文件,你可以在没有Node.js环境的机器上运行你的应用,因为它们已经包含了所有必要的依赖。
此外,虽然这种方式没有直接创建一个JAR文件,但它提供了类似的分发和部署便利性。如果你确实需要JAR格式,你可能需要考虑使用其他技术栈或工具来桥接Node.js和Java之间的需求。