首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nuxt.config.js中扩展webpack >配置>外部变量?

如何在nuxt.config.js中扩展webpack >配置>外部变量?
EN

Stack Overflow用户
提问于 2020-09-13 02:28:02
回答 1查看 1.2K关注 0票数 3

因此,我需要在Webpack中设置Rollupexternal选项(external: path => /^three/.test( path ))的替代选项

据我所知,在webpack中它被称为externals,但我不知道如何在nuxt.config.jsextend (config, ctx) {}中设置它。

config.module.externals = /^three/似乎不起作用,尽管我在webpack的文档中见过这个例子:

代码语言:javascript
复制
module.exports = {
  //...
  externals: /^(jquery|\$)$/i
};

我在nuxt.config.js中的配置

代码语言:javascript
复制
        /*
        ** You can extend webpack config here
        */
        extend (config, ctx) {
            config.module.rules.push(
                {
                    test: /\.(glsl|vs|fs|vert|frag)$/,
                    exclude: /node_modules/,
                    use: 'raw-loader'
                }
            )
        }
EN

回答 1

Stack Overflow用户

发布于 2021-04-21 21:15:21

我在几个小时前遇到了同样的问题,这对我来说很有用:D

代码语言:javascript
复制
build: {
    extend(config, { isDev, isClient }) {
      config.externals = function (context, request, callback) {
        if (/xlsx|canvg|pdfmake/.test(request)) {
          return callback(null, 'commonjs ' + request)
        }
        callback()
      }
    },
  },

https://webpack.js.org/configuration/externals/

因此您不需要添加config.module.external,因为配置本身就是模块化的

代码语言:javascript
复制
    build: {

      extend(config, { isDev, isClient }) {
        config.externals = [
          {
            // String
            react: 'react',
            // Object
            lodash: {
              commonjs: 'lodash',
              amd: 'lodash',
              root: '_', // indicates global variable
            },
            // [string]
            subtract: ['./math', 'subtract'],
          },
          // Function
          function ({ context, request }, callback) {
            if (/^yourregex$/.test(request)) {
              return callback(null, 'commonjs ' + request);
            }
            callback();
          },
          // Regex
          /^(jquery|\$)$/i,
      ];
    },
  },
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63863617

复制
相关文章

相似问题

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