{
"extends": "@react-native/typescript-config/tsconfig.json",
"compilerOptions": {
"strict": true,
"skipLibCheck": true,
"baseUrl": ".",
"paths": {
"~/*": ["./*"]
}
}
}
declare module "*.svg" {
import React from 'react';
import { SvgProps } from "react-native-svg";
const content: React.FC<SvgProps>;
export default content;
}
assets, svg 를 사용해야 할 때
const path = require('path');
const { getDefaultConfig } = require('metro-config');
module.exports = (async () => {
const {
resolver: { assetExts, sourceExts },
} = await getDefaultConfig();
return {
resolver: {
extraNodeModules: {
src: path.resolve(__dirname, 'src'),
},
assetExts: assetExts.filter(ext => ext !== 'svg'),
sourceExts: [...sourceExts, 'svg'],
},
transformer: {
babelTransformerPath: require.resolve('react-native-svg-transformer'),
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
};
})();
src 만 기본 경로로 설정할 때
const path = require('path');
module.exports = {
resolver: {
extraNodeModules: {
src: path.resolve(__dirname, 'src'),
},
},
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
};
이렇게 하고 ide 를 껐다 켜야 적용되네..