【问题标题】:Error: Module should export a function: i18next错误:模块应该导出一个函数:i18next
【发布时间】:2018-09-27 07:56:01
【问题描述】:

在我的 Nuxt js 应用程序中,我安装了i18next

npm install --save-dev i18next

然后每当我将它添加到 nuxt.config.js 中的插件数组时,正如documentation 所建议的那样:

module.exports = {
  build: {
    vendor: ['i18next']
  }
}

我在启动服务器时收到此错误 (npm run dev)

 ERROR  Nuxt error

  Error: Module should export a function: i18next

  - module.js:127 ModuleContainer.addModule
    [begueradj]/[nuxt]/lib/core/module.js:127:13

  - utils.js:96 promise.then
    [begueradj]/[nuxt]/lib/common/utils.js:96:43


  - next_tick.js:189 process._tickCallback
    internal/process/next_tick.js:189:7

  - module.js:696 Function.Module.runMain
    module.js:696:11

  - bootstrap_node.js:204 startup
    bootstrap_node.js:204:16

  - bootstrap_node.js:625 
    bootstrap_node.js:625:3

为什么会这样?如何解决?

【问题讨论】:

    标签: javascript plugins i18next nuxt.js


    【解决方案1】:

    vendor 数组用于 Nuxt.js 1.x 以帮助 Webpack 3 优化构建。它不用于导入库。

    (nb:从 Nuxt.js 2.x 开始,vendor 配置已弃用,可以删除)


    要导入外部库,您需要创建一个自定义 Vue.js 插件并在 plugins 数组 (https://nuxtjs.org/guide/plugins/) 中的 nuxt.config.js 中声明它

    module.exports = {
      plugins: ['~/plugins/your-cutom-plugins']
    }
    

    或者,

    您可以在您的组件/页面/中间件/插件文件中导入您的外部库以直接使用它:

    <script>
    import i18next from 'i18next'
    ​
    i18next.init({ 
       ...
    )
    </script>
    

    (nb:更喜欢使用install --save,因为“i18next”不仅用于开发,也用于生产)

    【讨论】:

      猜你喜欢
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2017-11-17
      • 2020-10-07
      • 2021-06-18
      相关资源
      最近更新 更多