Nuxt 不在 ssr 模式下将 Vee-validate 模块包含到生产构建包中

Nuxt doesnt include Vee-validate module into production build package in ssr mode

在 ssr 模式下构建应用程序时,我注意到 vee-validate 未包含在构建包中并且应用程序在服务器上崩溃。

重现:
1) > nuxt build
2) 从本地删除 vee-validate node_modules
3) > NODE_ENV=production node server/index.js
4)观察服务器错误:找不到模块'vee-validate'

版本:

nuxt v2.4.2  
vee-validate v2.1.7 

我有以下配置:

nuxt.config.js:

  plugins: [
    { src: '@/plugins/registerPlugins.js' }
  ],

registerPlugins.js:

import Vue from 'vue'
import VeeValidate from 'vee-validate'

Vue.use(VeeValidate, { inject: false })

我尝试配置 nuxt.config 以便 'vee-validate' 被强制打包,但我还没有找到办法。
我还尝试将 vee-validate 直接导入页面组件 - 结果相同。

有什么解决这个问题的想法吗?
或者至少如何告诉 webpack(通过 nuxt.config)包含 vee-validate 模块?

这是完全正常的行为。 None 包中的第三方节点模块将包含在 buuild 中,因此您需要在安装中安装它们。

您可以尝试使用独立模式,它将尝试将所有节点模块捆绑到您的构建中

https://github.com/nuxt/nuxt.js/pull/4661