【问题标题】:Webpack-merge not accessing common configuration variablesWebpack-merge 不访问公共配置变量
【发布时间】:2018-05-11 11:05:11
【问题描述】:

据我了解,webpack-merge 帮助我们将 webpack.config 文件分解为更易于管理的块,添加与环境相关的配置。

虽然我们将生产和开发特定位分开 出,请注意,我们仍将保持“通用”配置以保持 东西干燥。为了将这些配置合并在一起,我们将使用 一个名为 webpack-merge 的实用程序。使用“通用”配置 地方,我们不必在特定环境中重复代码 配置。
- Webpack - 生产

我的webpack.prod.js 中的代码是这样的:

const merge = require('webpack-merge');
const common = require('./webpack.common.js');

module.exports = merge(common, {
  mode: 'production',
  devtool: 'source-map',
  module: {
    rules: [
      {
        test: /\.(png|svg|jpg|gif)$/,
        use: [
            'file-loader'
        ],
        exclude: [
          path.resolve(__dirname, "node_modules") //NEED TO ACCCESS PATH VARIABLE HERE
        ]
      }
  ]
}

在我的webpack.common.js 中是变量path,我认为webpack.prod.js 可以访问该变量。我假设它没有出现错误:

ReferenceError: path is not defined

问题

如何访问通用配置?我误解了webpack-merge 的概念吗?

【问题讨论】:

    标签: javascript webpack production-environment


    【解决方案1】:

    webpack-merge 将获取两个 js 对象并使用 lodash mergeWith 合并它们。所以基本上它返回一个包含两个对象属性的对象。

    它无法为您提供path 变量或任何其他变量。您需要将其隐式导入到您的 webpack.prod.js 文件中。

    【讨论】:

    • 嗯嗯好的。我只是想当 Webpack 声明它可以防止重复代码时,我认为这意味着我不必重复代码。当您说导入时,您的意思是require
    • 嗨,You will need to implicitely import it in your webpack.prod.js file 是什么意思?你有一些代码要分享吗?谢谢
    猜你喜欢
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多