Webpack和Typescript的别名配置

需求

项目技术栈:webpack + typescript + eslint
代码中多次使用相对路径导入模块,看起来复杂且不美观,如下:

import fetch from '../../../../utils/fetch';

如何将上面的代码进行优化呢?

import fetch from 'utils/fetch';

方案

step1: 配置webpack的resolve.alias

module.exports = {
  entry: {
    main:'./main.js',
  },
  output: {
    path:__dirname+'/dist',
    filename: '[name].js'
  },
  resolve:{
    //配置别名,在项目中可缩减引用路径
    alias: {
      'utils': resolve('app/utils'),
      'assets': resolve('app/assets')
    }
  },
  plugins: []
};

step2: 配置tsconfig.json

{
	compilerOptions: {
		"baseUrl": ".",
	    "paths": {
	      "utils/*": ["app/utils/*"],
	      "assets/*": ["app/assets/*"],
	    }
	}
}

ESLint 报错 import/no-unresolved

解决办法:

  1. 网上推荐【未尝试】
  2. 暴力解决:重启vscode【确实可以了,如果再碰到再说吧
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webpack打包优化具体配置如下: 1. 缩小打包体积:可以通过以下方式缩小打包体积。 - Tree Shaking:在Webpack 4中,可以通过设置mode为production自动启用Tree Shaking,去除无用代码。也可以通过设置optimization.usedExports为true手动启用。 - Code Splitting:通过使用Webpack的Code Splitting功能,将一个大文件拆分成多个小文件,只按需加载需要的模块。 - 动态导入:通过使用import()或require.ensure()等语法,实现按需加载模块。 2. 加快打包速度:可以通过以下方式加快打包速度。 - 缓存:使用babel-loader时,可以开启缓存,避免相同的文件重复编译。 - 多线程:使用HappyPack或thread-loader等插件,将loader的执行过程多线程并行处理,提高打包速度。 - DllPlugin:使用DllPlugin将第三方库单独打包成一个文件,减少重复打包,提高打包速度。 3. 优化代码质量:可以通过以下方式优化代码质量。 - ESLint:使用ESLint进行代码风格检查和错误检查,提高代码质量。 - Prettier:使用Prettier进行代码格式化,统一代码格式,提高代码可读性。 - TypeScript:使用TypeScript进行类型检查,提高代码质量和可维护性。 4. 优化图片资源:可以通过以下方式优化图片资源。 - 压缩:使用imagemin-webpack-plugin等插件,对图片进行压缩。 - 转换:使用url-loader或file-loader等插件,将图片转换为DataURL或Base64格式,减少网络请求。 - 懒加载:使用Intersection Observer API等技术,实现图片懒加载,提高页面加载速度。 5. 拆分第三方库:可以通过以下方式拆分第三方库。 - externals:通过配置externals属性,将第三方库从Webpack打包文件中排除,使用CDN等方式加载。 - DllPlugin:使用DllPlugin将第三方库单独打包成一个文件,通过CDN等方式加载,减少打包体积和页面加载时间。 6. 优化Webpack配置:可以通过以下方式优化Webpack配置。 - resolve.alias:通过配置resolve.alias属性,指定模块的别名,加快模块查找速度。 - noParse:通过配置noParse属性,排除不需要解析的模块,加快打包速度。 以上是Webpack打包优化的具体配置,具体实现需要根据具体项目情况进行分析和决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值