首页 前端知识 typescript中设置别名paths

typescript中设置别名paths

2024-08-27 09:08:39 前端知识 前端哥 483 286 我要收藏

请添加图片描述

设置tsconfig.json属性compilerOptions.paths
配置后引用

import Example from "@ceshitspaths";

发现我的vscode编辑器已经能识别这个路径了,当我按下ctrl点击路径的时候,也自动跳转到了a.ts文件,再运行npm run start报错如下

Module not found: Can't resolve '@ceshitspaths' 

在这里插入图片描述

原因:typescript根本不会对别名进行处理,只能借助第三方编译工具,例如babel,webpack。

解决方案:
我的项目使用的是roadhog编译,根目录添加webpack配置webpack.config.js,在配置文件中自动读取了tsconfig中path的属性来给webpack设置别名,避免多位置配置alias。

var tsconfig = require("./tsconfig.json");
var paths = tsconfig.compilerOptions.paths;
var alias = {};
Object.keys(paths).forEach(function (key) {
  var value = paths[key][0];
  alias[key] = `${__dirname}/${value}`;
});

console.log("alias", alias);
module.exports = (webpackConfig, env) => {
  // 别名配置

  const data = webpackConfig.resolve.alias;

  webpackConfig.resolve.alias = {
    // ...alias,
    ...data,
  };
  return webpackConfig;
};

转载请注明出处或者链接地址:https://www.qianduange.cn//article/16996.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!