美文网首页
webpack4个人学习详细笔记(11)-- resolve配置

webpack4个人学习详细笔记(11)-- resolve配置

作者: gem_Y | 来源:发表于2020-04-05 21:28 被阅读0次

1. modules:

解析模块时搜索的目录,即 require 或 import 模块的时候,只写模块名的时候,到哪里去找,其属性值为数组,因为可配置多个模块搜索路径,其搜索路径必须为绝对路径
比如,src 目录下面有一个 foo.js 文件和 index.js 文件

index.js

// const foo = require("./foo"); // 不加resolve modules配置时必须写全foo.js模块的路径
const foo = require("foo"); // resolve.modules中配置了模块解析路径为.src目录,则可用只写foo即可搜索到foo.js模块
console.log(foo);
  resolve: {
    modules: [path.resolve(__dirname, "./src/"), "node_modules"]
  },

2. alias

  resolve: {
    modules: [path.resolve(__dirname, "./src/"), "node_modules"],
    // 给路径或文件取别名
    alias: {
      'vue': 'vue/dist/vue.min.js',
      '@': path.join(__dirname, '../src/'),
      'env.cfg': '',
      'pages': path.join(__dirname, '../src/js/pages/'),
    }
  },

3. extensions

引入模块的时候,如果没有写模块后缀名,webpack 会自动添加后缀,extensions 就是用于设置自动添加后缀的顺序,

  resolve: {
    modules: [path.resolve(__dirname, "./src/"), "node_modules"],
    alias: {
      'vue': 'vue/dist/vue.min.js',
    },
    extensions: ['.js', '.vue', '.scss', '.css', '.html', '.json'],
  },

4. mainFields

  resolve: {
    modules: [path.resolve(__dirname, "./src/"), "node_modules"],
    alias: {
      'vue': 'vue/dist/vue.min.js',
    },
    mainFields: ['style', 'main'] // 引入模块时,先引入style,找不到再找main
  },
image.png

相关文章

网友评论

      本文标题:webpack4个人学习详细笔记(11)-- resolve配置

      本文链接:https://www.haomeiwen.com/subject/gibpphtx.html