素材牛VIP会员
dva中使用webpack.config.js的配置问题?
 多***哈  分类:JavaScript  人气:2166  回帖:1  发布于6年前 收藏

dva生成的项目中,会自动识别根目录下的webpack.config.js文件,根据往上的一下资料,可以对dva中的一些loader进行修改,说是导出来一个函数,

现在想知道的是怎么读取这个函数的参数?
例如webpack.config.js导出的函数是这样的

export default (config) => {
  console.log('###',config)
  if (process.env.NODE_ENV === 'development') {
    const loaders = config.module.loaders

    for (let i = 2; i <= 5; i++) {
      const loader = loaders[i].loader.split('!')

      const result = loader.map(item => {
        const load = item.split('?')

        if (load[0] === 'css' || load[0] === 'less') {
          if (load.length === 1) {
            load.push('sourceMap')
          } else {
            if (load[0] === 'less') {
              load[1] = JSON.stringify({...JSON.parse(load[1]), sourceMap: true})
            } else {
              load[1] += '&sourceMap'
            }
          }
        }

        return load.join('?')
      })

      loaders[i].loader = result.join('!')
    }
  }

  return config
}

在这里面直接打印,并不能看到参数是什么,在浏览器控制台或者cli中都看不到打印,请问怎么做才可以看到参数是什么?

 标签:dva.jsjavascript

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv4 码徒
朱***叶 UI设计师 6年前#1

以下是配置的项目中打印出来的:

{ devtool: '#cheap-module-eval-source-map',
  entry: 
   { index: 
      [ 'C:\\workspace\\DvaInitial\\node_modules\\react-dev-utils\\webpackHotDevClient.js',
        '.\\src/index.js' ],
     app: 
      [ 'C:\\workspace\\DvaInitial\\node_modules\\react-dev-utils\\webpackHotDevClient.js',
        '.\\src/app.js' ],
     dashboard: 
      [ 'C:\\workspace\\DvaInitial\\node_modules\\react-dev-utils\\webpackHotDevClient.js',
        '.\\src/dashboard.js' ] },
  output: 
   { path: 'C:\\workspace\\DvaInitial\\dist',
     filename: '[name].js',
     publicPath: '/',
     libraryTarget: 'var',
     chunkFilename: '[name].async.js' },
  resolve: 
   { modules: 
      [ 'C:\\workspace\\DvaInitial\\node_modules\\roadhog\\node_modules',
        'C:\\workspace\\DvaInitial\\node_modules',
        'node_modules' ],
     extensions: 
      [ '.web.js',
        '.web.jsx',
        '.web.ts',
        '.web.tsx',
        '.js',
        '.json',
        '.jsx',
        '.ts',
        '.tsx' ] },
  resolveLoader: 
   { modules: 
      [ 'C:\\workspace\\DvaInitial\\node_modules\\roadhog\\node_modules',
        'C:\\workspace\\DvaInitial\\node_modules' ],
     moduleExtensions: [ '-loader' ] },
  module: 
   { rules: 
      [ [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object],
        [Object] ] },
  plugins: 
   [ HotModuleReplacementPlugin {
       options: {},
       multiStep: undefined,
       fullBuildTimeout: 200,
       requestTimeout: 10000 },
     CaseSensitivePathsPlugin { options: {}, pathCache: [Object], fsOperations: 1 },
     WatchMissingNodeModulesPlugin {
       nodeModulesPath: 'C:\\workspace\\DvaInitial\\node_modules' },
     SystemBellPlugin {},
     DefinePlugin { definitions: [Object] },
     { apply: [Function: apply] },
     LoaderOptionsPlugin { options: [Object] } ],
  externals: undefined,
  node: { fs: 'empty', net: 'empty', tls: 'empty' } }

配置文件详见:DvaInitial

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取