使用 run dev 时找不到模块“pinia/dist/pinia.mjs”

Cla*_*ity 22 vue.js nuxt.js nuxtjs3 pinia

我在新的 Nuxt3 应用程序之上设置 Pinia 并启动开发服务器,按顺序使用以下命令:

npx nuxi init nuxt-app
cd nuxt-app
npm install
npm install @pinia/nuxt
npm run dev
Run Code Online (Sandbox Code Playgroud)

开发服务器运行没有任何问题。然后,我将这行代码放入“nuxt.config.ts”中;

npx nuxi init nuxt-app
cd nuxt-app
npm install
npm install @pinia/nuxt
npm run dev
Run Code Online (Sandbox Code Playgroud)

而且,当我再次尝试连接到开发服务器时,它在终端中给出了以下错误消息:

 ERROR  Cannot start nuxt:  Cannot find module 'pinia/dist/pinia.mjs'                                                                     12:03:55
Require stack:
- C:\Users\user\Documents\github2\nuxt-app\index.js
Run Code Online (Sandbox Code Playgroud)

kis*_*ssu 36

正如这里提到的,NPM 存在一个无法正常工作的问题,解决方法如下:

npm i pinia -f
Run Code Online (Sandbox Code Playgroud)

  • 这有效。强制它可能会导致进一步的冲突或包问题,但看起来这是目前唯一的工作方法。 (2认同)
  • 如果您在本地运行“npm i pinia -f”,我很确定您的某些文件可能会发生变化,例如“package-lock.json”或类似文件。在生产中,您的“node_modules”始终会被擦除,如果不是这种情况,您可能应该运行某种缓存重置(取决于您托管应用程序的位置)。@卡诺斯 (2认同)

dus*_*_bg 27

据我所知,这是一个错误,有一天会被修复。在那之前你可以把

alias: {
  pinia: "/node_modules/@pinia/nuxt/node_modules/pinia/dist/pinia.mjs"
},
Run Code Online (Sandbox Code Playgroud)

在你的nuxt.config.ts,它会起作用。

从Pinia 的 VueSchool 课程中找到。

  • 有该错误的官方来源吗? (2认同)
  • 不,我在视频课程中找到了它:https://vueschool.io/lessons/global-state-management-with-pinia,它对我有用。 (2认同)