(現在進行中の謎です。分かり次第追記する)
概要
- Nuxt3のプロジェクトでvueやnuxtをpackage.jsonのdependenciesに書くのかdevDependenciesにするのか
- ディスカッションであったり、動きを確認してみたけれどいまいちよくわかっていない
ディスカッション
ビルド出力がルートプロジェクトのpackage.jsonではなく、output/serverフォルダの新しいpackage.jsonに依存しているため、すべてをdevDependenciesに含めることができる。とのこと
なるほど(よくわからん)
手元で試す
$ docker run --rm -v $(pwd):/app -w /app -p 85:80 -it node:lts-slim /bin/bash
ここからコンテナ上で作業
$ npx nuxi@latest init
$ cd nuxt-app
$ cat package.json
{
"name": "nuxt-app",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"dependencies": {
"nuxt": "^3.12.1",
"vue": "^3.4.27",
"vue-router": "^4.3.3"
}
}
あれ? devDependencies
じゃないのか
もちろんビルドはできる
$ npm run dev
一旦まっさらにする
$ rm -rf node_modules .nuxt .output
package.jsonをこうする
{
"name": "nuxt-app",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"devDependencies": {
"nuxt": "^3.12.1",
"vue": "^3.4.27",
"vue-router": "^4.3.3"
}
}
これもビルドはできる
$ npm install
$ npm run dev
次はupgradeしてみる
$ npx nuxi upgrade
なるほど????
{
"name": "nuxt-app",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"dependencies": {
"vue": "^3.4.27",
"vue-router": "^4.3.3"
},
"devDependencies": {
"nuxt": "^3.12.1"
}
}
よくわからん
雑感
どこかで追加調査する