使用typescript写一个网站

352 阅读1分钟

遇到的问题

create-react-app 使用 TypeScript

如果使用npm run eject命令弹出webpack配置并使用resolve.alias设置别名,很大概率会遇到

Module not found: You attempted to import xxx which falls outside of the project src/ directory. Relative imports outside of src/ arenot supported.

这样的问题。
解决方法:

  1. new ModuleScopePlugin(paths.appSrc, [paths.appPackageJson])这行去掉粗暴,永久解决问题。 但如果还是希望有功能怎么做呢?
  2. 其实这个插件的本质只是对webpack处理后的路径做正则匹配,而create-react-app中提供了一些全局变量如paths,只需要把'@lib': path.resolve(__dirname, './lib')这种写法改为'@lib': path.resolve(paths.appSrc, './lib')即可