Webpack解决为导出的变量提供未定义的问题

时间:2019-07-03 13:17:54

标签: javascript reactjs webpack redux webpack-4

我正在使用Webpack 4捆绑当前项目中的文件。为了避免import语句中的长路径,我使用了webpack配置的Resolve键。

当前,我的配置是这样的

{
  resolve: {
    modules: [path.resolve(__dirname,'src/'), 'node_modules']
  },
  module: {
    rules: [
      {
        test: /\.(graphql|gql)$/,
        exclude: /node_modules/,
        loader: 'graphql-tag/loader',
      },
    ],
  },

当我导入任何文件时,它工作正常。所以不用写

import { STANDALONE_PATH } from '../../../url'

我会写

import { STANDALONE_PATH } from 'url'
  • 对于任何React组件来说,它都可以正常工作,但是如果我导入任何变量或常量,它就会给出undefined

src / constant.js

export const message = "Hello world"

src / components / card / message

import { message } from 'constant'
console.log(message) //undefined

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

您必须为此使用别名。

module.exports = {
  //...
  resolve: {
    alias: {
      constants$: path.resolve(__dirname, 'src/contants.js')
    }
  }
};

有关更多信息,请参见https://webpack.js.org/configuration/resolve/#resolvealias