如何访问其他js文件中的webpack配置变量

问题描述

我正在运行以下命令以在本地运行应用程序

npm run start

package.json

...
"scripts": {
    "start": "concurrently --kill-others --kill-others-on-fail -p name --names \"config\" \"npm run start:config\"","build": "npm run build:config","build:config": "webpack --config ./webpack.config.config.js -p","start:config": "webpack-dev-server --config ./webpack.config.config.dev.js --port 4200"
  },...

我正在尝试访问 webpack config js 中定义的 scripts.js 中的 env 模式,如下所示 但我收到以下错误

Uncaught SyntaxError: The requested module '../webpack.config.config.dev.js' does not provide an export named 'mode'

scripts.js

import { mode } from '../webpack.config.config.dev.js';
// error: Uncaught SyntaxError: The requested module '../webpack.config.config.dev.js' does not provide an export named 'mode'

var process = function() {
   let url = config.mode == 'development' ? 'local-url' : 'url';
}

webpack.config.config.dev.js

...
const config = require('./webpack.config.config.js');
config.devServer = {
  contentBase: './build',historyApiFallback: true,headers: {
    "Access-Control-Allow-Origin": "*",},proxy: {
    "/common/": {
      pathRewrite: {"^/common" : ""}
    }
  }
}

config.mode = 'development'
module.exports = config;

webpack.config.config.js

    const webpack = require('webpack')
    const path = require('path');
    const CleanWebpackPlugin = require('clean-webpack-plugin');
    const copyWebpackPlugin = require('copy-webpack-plugin');
    
    module.exports = {
      entry: './src/scripts/config.js',output: {
        filename: 'config.js',library: 'config',libraryTarget: 'amd',path: path.resolve(__dirname,'build'),mode: 'production',module: {
        rules: [
 ...      },resolve: {
        modules: [
          __dirname,'node_modules',],plugins: [
        copyWebpackPlugin([
          {from: path.resolve(__dirname,'src/index.html')},{from: path.resolve(__dirname,'src/styles.css')},'src/scripts'),to: path.resolve(__dirname,'./build/scripts'),force: true },'webpack.config.config.dev.js'),'./build/webpack.config.config.dev.js'),force: true }
        ]),new CleanWebpackPlugin(['build']),devtool: 'source-map',externals: [
        /^lodash$/,/^rxjs\/?.*$/,};

index.html

...
<script src="scripts/scripts.js" type="module"></script>
...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)