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

发布于 2022-09-06 08:36:20 字数 1036 浏览 5 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我不是你的备胎 2022-09-13 08:36:20

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

{ 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

挖个坑埋了你 2022-09-13 08:36:20

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文