美文网首页
ReactNative添加paths映射, 优化引用路径

ReactNative添加paths映射, 优化引用路径

作者: 袁俊亮技术博客 | 来源:发表于2020-06-10 11:45 被阅读0次

ReactNative添加paths映射, 优化引用路径.

https://www.tslang.cn/docs/handbook/module-resolution.html

  • 安装babel的模块解析模块: npm install --save-dev babel-plugin-module-resolver
  • 编辑tsconfig.json中的paths模块, 增加新的模块别名:
{
    //.......
"compilerOptions": {
  "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
  "paths": {
    "@app/apis/*": ["src/apis/*"],
    "@app/assets/*": ["src/assets/*"],
    "@app/components/*": ["src/components/*"],
    "@app/constants/*": ["src/constants/*"],
    "@app/pages/*": ["src/pages/*"],
    "@app/routes/*": ["src/routes/*"],
    "@app/secure-storage/*": ["src/storage/*"],
    "@app/i18n/*": ["src/i18n/*"],
    "@app/utils/*": ["src/utils/*"],
  },                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
},
// ......
}
  • 编辑babel.config.js:
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
  [
    'module-resolver',
    {
      root: ['./src'],
      extensions: ['.tsx', 'ts'],
      alias: {
        '@app/apis': 'src/apis/',
        '@app/assets': 'src/assets/',
        '@app/components': 'src/components/',
        '@app/constants': 'src/constants/',
        '@app/pages': 'src/pages/',
        '@app/routes': 'src/routes/',
        '@app/secure-storage': 'src/storage/',
        '@app/i18n': 'src/i18n/',
        '@app/utils': 'src/utils/',
      },
    },
  ],
],
};
  • 编辑metro.config.js, 添加 resetCache: true
module.exports = {
  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: false,
        inlineRequires: false,
        resetCache: true,
      },
    }),
  },
};
  • 每次增加新的模块映射之后, 重启服务端: yarn start --reset-cache

相关文章

网友评论

      本文标题:ReactNative添加paths映射, 优化引用路径

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