Hel*_*rld 0 node.js typescript npm-publish npm-install npm-scripts
我构建了一个 TypeScript 模块并将其推送到 GitHub。我现在想在我的内部使用这个模块MyApp作为依赖项,它也是用 TypeScript 编写的。该包已在我的中注册MyApp/package.json:
"dependencies": {
"foo": "github:organization-xyz/foo",
}
Run Code Online (Sandbox Code Playgroud)
我添加了一个命令build-ts来JavaScript在我的foo模块中创建相应的绑定foo/package.json:
"scripts": {
"build-ts": "tsc"
...
},
Run Code Online (Sandbox Code Playgroud)
当然,当我调用npm i主应用程序时,不会执行该命令。我如何正确准备我的模块foo才能将其成功导入到我的应用程序中?
package.json prepare脚本中。例如:
\n "scripts": {\n "prepare": "npm run build-ts"\n "build-ts": "tsc"\n ...\n },\nRun Code Online (Sandbox Code Playgroud)\nprepare是npm 在某些情况下自动运行的生命周期脚本之一。其中一种情况是安装包依赖项时,如npm-install 文档中所述:
\n\n如果正在安装的包包含准备脚本,则在打包和安装包之前,将安装其依赖项和 devDependency,并运行准备脚本。
\n
由于准备脚本也在发布之前运行,因此请确保将您配置package.json为不发布构建工件。
既然您提到您正在 GitHub 上发布它,那么这里有一些特定于该案例的更多信息:
\nprepare。...如果构建不依赖于安装目标(例如 cpu 架构),标准做法是在发布之前将 Typescript 转换为 Javascript。几乎每个人都这样做,包括 Typescript 的开发者。但我不打算在这里说明这一点......
\n