首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`nuxt` vs ` `nuxt generate`:未定义require

`nuxt` vs ` `nuxt generate`:未定义require
EN

Stack Overflow用户
提问于 2018-08-12 13:58:39
回答 2查看 1.3K关注 0票数 0

我从一个用nuxt generate构建的nuxt站点得到这个错误

Uncaught ReferenceError: require is not defined

它在以下代码的两个文件中发生:

代码语言:javascript
复制

vendor.js: e.exports=require("vue")

t.exports=require("core-js/library/fn/symbol/iterator"):app.js

代码语言:javascript
复制

当我只用nuxt预览站点时,它运行得很好。

我遇到了this bug,所以我使用了我不太理解的webpack-node-externals

代码语言:javascript
复制

const nodeExternals =require(‘webpack-节点-外部变量’);

module.exports ={

/页面的页眉/

head:{ },

css:

/ Build configuration /

内部版本:{

代码语言:javascript
复制
extend (config, { isDev, isClient }) {
代码语言:javascript
复制
  if (isDev && isClient) {
代码语言:javascript
复制
    /* Run ESLint on save */
代码语言:javascript
复制
    config.module.rules.push({
代码语言:javascript
复制
      enforce: 'pre',
代码语言:javascript
复制
      test: /\.(js|vue)$/,
代码语言:javascript
复制
      loader: 'eslint-loader',
代码语言:javascript
复制
      exclude: /(node_modules)/
代码语言:javascript
复制
    })
代码语言:javascript
复制
  } else {
代码语言:javascript
复制
    // https://github.com/nuxt/nuxt.js/issues/438
代码语言:javascript
复制
    config.externals = [ nodeExternals({
代码语言:javascript
复制
      whitelist: ['vue-videobg']
代码语言:javascript
复制
    })]
代码语言:javascript
复制
  }
代码语言:javascript
复制
}

},

模块:[

代码语言:javascript
复制
'nuxt-imagemin',
代码语言:javascript
复制
['nuxt-sass-resources-loader', [
代码语言:javascript
复制
  '@/node_modules/bootstrap/scss/_functions.scss',
代码语言:javascript
复制
  '@/node_modules/bootstrap/scss/_variables.scss',
代码语言:javascript
复制
  '@/node_modules/bootstrap/scss/mixins/_breakpoints.scss',
代码语言:javascript
复制
  '@/assets/bootstrap4/_variables.scss',
代码语言:javascript
复制
  '@/assets/variables.scss',
代码语言:javascript
复制
]],
代码语言:javascript
复制
['bootstrap-vue/nuxt', { css: false, }],
代码语言:javascript
复制
['@nuxtjs/google-analytics', {
代码语言:javascript
复制
  id: 'UA-XXXXXXXXX-6'
代码语言:javascript
复制
}],

],

插件:[

代码语言:javascript
复制
'plugins/bootstrap-vue.js',
代码语言:javascript
复制
'plugins/scroll.js',
代码语言:javascript
复制
{ ssr: false, src: '~/plugins/startup.js', },
代码语言:javascript
复制
{ ssr: false, src: '~/plugins/ksvuescrollmagic.js', },

],

}

代码语言:javascript
复制
EN

回答 2

Stack Overflow用户

发布于 2018-08-12 14:03:02

呃,这是一株风滚草。我用isServer修复了它

代码语言:javascript
复制
   `if (isServer) {         // https://github.com/nuxt/nuxt.js/issues/438         config.externals = [ nodeExternals({           whitelist: ['vue-videobg']         })]       }`
票数 0
EN

Stack Overflow用户

发布于 2018-09-29 15:12:49

如果您使用Nuxt v.2.0,则不再鼓励使用require。这就是2.0的changelog:Upgrade nuxt.config.js, modules and serverMiddleware to use import/export instead of require

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51806134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档