我正在测试npm脚本以构建我的项目依赖项。
我的想法来自https://github.com/ParsePlatform/parse-server,它在存储库中的代码给我留下深刻印象并不意味着npm install
之后的node_modules中的代码。
以下是我的testmodule结构
src/index.js
package.json
这是我的package.json内容
{
"name": "testmodule",
"version": "1.0.0",
"description": "",
"main": "lib/index.js",
"scripts": {
"build": "babel src/ -d lib/",
"prepublish": "npm run build"
},
"devDependencies": {
"babel-cli": "^6.18.0",
"babel-core": "^6.18.2"
}
}
这是我在运行npm install testmodule
node_modules/testmodule/lib/index.js
node_modules/testmodule/package.json
这是src文件夹不应该在这里。
但是在我运行npm install
之后,它与我推送到我的git存储库时完全相同。
请注意我在自己的服务器中使用GitLab。
所以我的问题是:
有什么我不想做的预发布运行吗?
解析服务器代码的哪一部分使得src文件夹和其他文件在安装后不存在?
答案 0 :(得分:0)
你如何运行npm install
?
根据documentation on npm scripts,预发布脚本在发布包之前运行。(也可以在没有任何参数的本地npm安装上运行。)“。很明显,预发布脚本仅在npm publish
或npm install <local directory>
上运行。
如果您尝试通过URL直接从本地gitlab服务器安装,这将不工作 - 脚本将不会运行。解决方案是在本地安装,除非你愿意开源你的包装&amp;将它推送到npm存储库或支付私有npm存储库。这是我在开发套件之前所做的事情,然后才准备公开。