ts-node运行时还是会报错,社区中提供了一个叫typescript-paths的插件来解决问题,但是这个插件对增量编译非常不友好(ts在项目大了之后全量编译随便改一点就要等2分钟),对此我们可以使用插件module-alias "paths": { "@/*": ["src/*"] }, Copy JSON 2.安装插件module-alias,这个非常简单yarn add module-alias或者npm intall module-alias 3.在入口文件的顶部配置路径别名(可以在package.json里面但是增量编译的话需要额外复制一个文件) // 变量别名 import moduleAlias from "module-alias"; moduleAlias.addAlias("@", __dirname); Copy TypeScript image.png 整个配置可以配置多个别名,同时可以编写回调函数
vue-template-compiler等,此时的这些模块的查找并不会走webpack,而后走node自己的模块查找机制,显然默认情况下肯定是找的node_modules下安装的模块,因此uniapp在初始化的时候会通过module-alias // node_modules/@dcloudio/vue-cli-plugin-uni/lib/env.js const moduleAlias = require('module-alias') / moduleAlias.addAlias('vue-template-compiler', '@dcloudio/vue-cli-plugin-uni/packages/vue-template-compiler') //... module-alias
命令行解决方案 figlet:花里胡哨的命令行艺术字 fs:nodejs的文件系统,多文件curd fs-extra:fs升级版,提供更便利的API和编码方式 inquirer:命令行输入交互,提供多种问答方式 module-alias module-alias module-alias主要兼容tsc编译的引用路径问题,下面会细述。 对比下前者肯定不是最优选,只会使得项目越来越重,在后者这里推荐module-alias插件,使用起来方便,只需要在package.json注册,然后在总入口引入就可以了。
命令行解决方案 figlet:花里胡哨的命令行艺术字 fs:nodejs的文件系统,多文件curd fs-extra:fs升级版,提供更便利的API和编码方式 inquirer:命令行输入交互,提供多种问答方式 module-alias 我要回家躺平'], }, ]); console.log(`您选的问题是:${green(question)}`); }; choseQuestion().then(); 效果 module-alias module-alias主要兼容tsc编译的引用路径问题,下面会细述。 对比下前者肯定不是最优选,只会使得项目越来越重,在后者这里推荐module-alias插件,使用起来方便,只需要在package.json注册,然后在总入口引入就可以了。
true } }) sequelize.sync({ force: false }) module.exports = { sequelize } 自动建表 require('module-alias
很多同学在使用ts开发时使用到了ts路径别名,使用了module-alias插件来解决,但是dist下package.json 需要额外修改,具体在node.js中使用路径别名可以参考这篇文章TypeScript
二次开发 app.js 自动建标表 全局错误处理 静态资源 异步 Promise 今天先讲讲全局错误处理和异步 Promise InitManager.initCore(app) require('module-alias