🦸♂️
Nuxt-bridge+TypeScriptの環境構築
Nuxt3を使おうとしたが、Nuxt3のStatic sitesは現在、整備中なのでNuxt2を入れてNuxt Bridgeでアップグレードした。
1. nodeバージョン確認
$ nodenv versions
推奨版(LTS)を入れる
2. nodeの現在のLTSは14.18.1
nodenvでのnodeバージョン管理方法
3. nuxt2を入れる
$ npm init nuxt-app <project-name>
? Programming language
> TypeScript
? Package manager(→どっちでも)
> Npm
? UI framework
> None
? Nuxt.js modules
何もいらない
? Listing tools
> ESLint
> Prettier
> StyleLint
? Testing framework
> None
? Rendering mode
> Universal (SSR / SSG)
? Deployment target
> Static(Statc/Jamstack hosting)
? Development tools
> jsconfig.json
? Continuous integration
> None
? Version control system
> Git
4.package.jsonを書き換え
・dependencies内の"nuxt": "^2.15.0"
を削除し、"nuxt-edge": "latest"
を追加
・@nuxt/typescript-build
を削除
・package-lick.jsonを削除
・コンソルでnpm i
5. Nuxt Brodgeをインストール
$ npm install -D @nuxt/bridge@npm:@nuxt/bridge-edge
6. スクリプトの書き換え
nuxt.config.jsでtarget: 'static'
に設定している場合は
package.jsonのscriptの中の"build": "nuxt build"
を"build": "nuxt generate"
に書き換える
{
"scripts": {
"build": "nuxt generate"
}
}
コンソルでnpm i
nuxt.config.js
を書き換え
7. ・ 先頭にimport { defineNuxtConfig } from '@nuxt/bridge'
を追記
・export default{,,,}
の部分をexport default defineNuxtConfig({,,,})
に書き換える
・'@nuxt/typescript-build',
を削除
tsconfig.json
を書き換え
8. 上の方にある"compilerOptions": {
の前に
"extends": "./.nuxt/tsconfig.json",
を追加
9. .gitignoreに追記
gitignoreファイルに.output
を追記
10. nuxt/bridgeをインストール
npm install -D @nuxt/bridge@npm:@nuxt/bridge-edge
package.jsonのdevDependencie
以下に"@nuxt/bridge"
が追加される
nuxt.d.ts
を作成
11. 参考
以下を追加
// This file is auto generated by `nuxt prepare`
// Please do not manually modify this file.
/// <reference types="@nuxt/bridge" />
/// <reference types="@nuxt/components" />
/// <reference types="@nuxt/telemetry" />
/// <reference path=".nuxt/nitro.d.ts" />
/// <reference types="unplugin-vue2-script-setup/types" />
/// <reference path=".nuxt/auto-imports.d.ts" />
export {}
eslintの設定
参考
・モジュールのインストール
$ npm install -D eslint-plugin-vue@latest
・.eslintrc.js
のextends以下に以下を追記
'plugin:vue/vue3-recommended',
立ち上げ, generate
$npm run dev
$npm run generate
Discussion