我想这样做,所以npm install也会安装这个包。Json的../somelocallib或者更重要的是它的依赖项。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
我想这样做,所以npm install也会安装这个包。Json的../somelocallib或者更重要的是它的依赖项。
"dependencies": {
"express": "*",
"../somelocallib": "*"
}
当前回答
使用工作空间
使用该文件的缺点:../path/to/your-library是你必须安装NPM或使用NPM link,以使更改在导入你的包的包中生效。
如果你使用pnpm:一个更好的解决方案是使用workspace: protocol: workspace:../path/to/your-library。它会将目录符号链接到您的node_modules目录,而不是复制它,因此源上的任何更改都会立即生效。
例如:
...
"dependencies": {
...
"my-package": "workspace:../../dist"
},
注意:此解决方案打算在工作空间中使用,因此可能需要创建pnpm-workspace。Yaml(甚至是一个空文件)文件在您的项目的根。
其他回答
在2020年的这里,我正在用Windows 10操作系统工作
"dependencies": {
"some-local-lib": "file:../../folderY/some-local-lib"
...
}
然后进行npm安装。结果是在节点模块中创建文件夹的快捷方式。 这行不通。你需要一个硬链接-哪个窗口支持,但是 你必须在Windows中做一些额外的事情来创建一个硬符号链接。
因为我不是真的想要一个硬链接,我尝试使用一个url代替:
"dependencies": {
"some-local-lib": "file:///D:\\folderX\\folderY\\some-local-lib.tar"
....
}
这个很好用。 tar(你必须tar库的build / dist文件夹中的东西)被提取到node-modules中的一个真正的文件夹中,你可以像其他东西一样导入。 显然tar部分有点烦人,但由于'some-local-lib'是一个库(无论如何都要构建),我更喜欢这个解决方案,而不是创建一个硬链接或安装一个本地npm。
实际上,从npm 2.0开始,现在已经支持本地路径了。
用纱线可以这样做
纱线添加文件:../somelocallib
这对我很有用。
将以下内容放入包中。json文件
"scripts": {
"preinstall": "npm install ../my-own-module/"
}
使用工作空间
使用该文件的缺点:../path/to/your-library是你必须安装NPM或使用NPM link,以使更改在导入你的包的包中生效。
如果你使用pnpm:一个更好的解决方案是使用workspace: protocol: workspace:../path/to/your-library。它会将目录符号链接到您的node_modules目录,而不是复制它,因此源上的任何更改都会立即生效。
例如:
...
"dependencies": {
...
"my-package": "workspace:../../dist"
},
注意:此解决方案打算在工作空间中使用,因此可能需要创建pnpm-workspace。Yaml(甚至是一个空文件)文件在您的项目的根。