dva中使用webpack.config.js的配置问题?

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中都看不到打印,请问怎么做才可以看到参数是什么?

阅读 9.3k
2 个回答

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

{ 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

新手上路,请多包涵

可以把项目导入到 webstorm 编辑器中,通过编辑器的命令行工具启动项目,然后就能打印输出了:
图片描述

控制台调出:
我使用的是eclipse设置: Preferences --> Keymap --> Eclipse
按住Alt+F12! 就会出来了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题