“npm run build”不是在添加纱线之前运行吗?

Posted

技术标签:

【中文标题】“npm run build”不是在添加纱线之前运行吗?【英文标题】:Doesn't "npm run build" run before yarn add? 【发布时间】:2021-11-21 04:02:05 【问题描述】:

我正在尝试安装我从我的 github 存储库中制作的包。

我用打字稿写的并添加了

 "scripts": 
    "build": "tsc"
  

到它的 package.json。

如果你运行npm install me/myrepo"npm run build(意思是tsc)会在安装前自动运行,对吗? 那么,当你运行yarn add https://github.com/me/myrepo/ 时呢? 我期待着同样的举动,但似乎不是那样。

你有什么方法可以在你运行“yarn add”的时候构建它吗?

【问题讨论】:

【参考方案1】:

运行 yarn add 将安装依赖项并将其添加到 package.json (1)。添加软件包后,您必须运行 npm run build 或类似的“yarn run build”。

(1)https://classic.yarnpkg.com/lang/en/docs/cli/add/

【讨论】:

对不起,我没有足够的话。我说的是我安装的软件包的构建。我认为即使它没有构建文件(例如,./dist 目录),我也会在安装它时构建该包。对于浪费您的时间,我深表歉意。 我正在尝试从 github 存储库安装包。【参考方案2】:

我自己想出来的。 我的问题不在于 npm 和 yarn 之间,而在于将 tsc 指定为 scripts 的方式。

它必须像下面这样:

  "scripts": 
    "tsc": "tsc",
    "build": "npm run tsc"
  

好像你只是简单地将tsc指定为scripts,这意味着tsc的全局依赖。

【讨论】:

以上是关于“npm run build”不是在添加纱线之前运行吗?的主要内容,如果未能解决你的问题,请参考以下文章

在打包(npm run build)的时候不执行了,但是也不报错,输入npm run dev可以启动

npm run build,如果成功则提交 [重复]

VueJS - 在 npm run build 之后我得到了空白页

npm run build 打包后,如何运行在本地查看效果

npm run build 打包后,如何运行在本地查看效果

vue中Npm run build 根据环境传递参数方法来打包不同域名