【发布时间】:2023-04-07 01:43:03
【问题描述】:
我们所有的服务器项目都包含一个 git 子模块文件夹(比如说modules),其中包含我们的自定义模块/组件。
此类模块依赖项安装在本地(请参阅serverApp/package.json),因此我们不必将整个子模块文件夹包含到最终 rpm 中。我遇到的问题是限制node_modules 中包含的文件数量。
子模块结构如下:
modules
|--loader
|--dist => compiled js files here that are created when installing the module
|--ts => contains typescript files that shouldn't be included in node_modules
|--package.json
|--tsconfig.json
|--more modules
|--.gitignore
在modules/loader 中添加.npmignore 文件似乎没有帮助,因为整个文件夹都被复制了。
modules/loader/tsconfig.json:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"declaration": true,
"outDir": "./dist",
"strict": true
}
}
modules/loader/package.json:
{
"name": "loader",
"version": "1.2.0",
"private": true,
"description": "",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"preinstall": "npm run build",
"build": "../../node_modules/typescript/bin/tsc",
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"@types/lodash": "^3.9.3",
"@types/nomnom": "0.0.28",
"@types/yamljs": "^0.2.30",
"lodash": "^3.9.3",
"nomnom": "^1.8.1",
"yamljs": "^0.2.1"
},
"devDependencies": {
"typescript": "~2.3.4"
}
}
serverApp/package.json:
{
"name": "my-server-app",
"version": "2.3.0",
"description": "",
"main": "myServerApp.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"license": "private",
"dependencies": {
"loader": "file:modules/loader"
},
"devDependencies": {
"grunt": "^0.4.5",
"grunt-cli": "^0.1.13"
}
}
我不确定这是否与我们有 .gitignore file 的事实有关,或者因为该模块未在本地发布和安装。
npm 版本 => 5.3.0
编辑
也不适用于在 modules/loader/package.json 中指定 "files"
【问题讨论】:
标签: npm