在create-next-app中使用--use-npm的目的是什么?

mdfafbf1  于 2023-08-04  发布在  其他
关注(0)|答案(2)|浏览(102)

使用CLI创建NextJS应用程序时,可以在运行npx create-next-app时选择--use-npm。在没有参数的情况下运行时(即在交互模式下),它不会询问这个问题。
help page显示

--use-npm
 
    Explicitly tell the CLI to bootstrap the app using npm

字符串
如果我使用它,它会将tsconfig.json变成

"paths": {
      "--use-npm": ["./src/*"]
    }


代替了

"paths": {
      "@/*": ["./src/*"]
    }

提问

--use-npm的用途是什么?

sg3maiej

sg3maiej1#

create-next-app在源代码中有这一行,用于根据提供的标志确定是否使用npmpnpmyarn

const packageManager = !!program.useNpm
  ? 'npm'
  : !!program.usePnpm
  ? 'pnpm'
  : !!program.useYarn
  ? 'yarn'
  : getPkgManager()

字符串
如果不使用显式标志,则getPkgManager函数会查看npm_config_user_agent环境变量中是否存在“yarn”或“pnpm”,否则默认为npm。(source
所以交互模式默认为npm

kb5ga3dv

kb5ga3dv2#

我找到了问题和解决方案。
我运行的命令是

npx create-next-app --typescript --tailwind --app --src-dir --import-alias --use-npm --no-eslint

字符串
本来应该是

npx create-next-app --typescript --tailwind --app --src-dir --import-alias '@/*' --use-npm --no-eslint


由于某种原因,create-next-app没有--no-import-alias,这将是非常有用的。

相关问题