我目前得到的错误,而试图导入。任何帮助或建议将不胜感激。
tabs.tsx|src〉navigation〉tabs.tsx
import React from 'react'
import { StyleSheet, View, Image, Text } from 'react-native'
import {createBottomTabNavigator, BottomTabBar} from "@react-navigation/bottom-tabs"
import {icons} from '../constants'
const Tab = createBottomTabNavigator()
结构
tsconfig.json
{
"compilerOptions": {
"target": "esnext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"lib": ["es2017"], /* Specify library files to be included in the compilation. */
"allowJs": true, /* Allow javascript files to be compiled. */
"jsx": "react-native", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
"noEmit": true, /* Do not emit outputs. */
"isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
"strict": true, /* Enable all strict type-checking options. */
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
"allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
"skipLibCheck": false, /* Skip type checking of declaration files. */
"resolveJsonModule": true /* Allows importing modules with a ‘.json’ extension, which is a common practice in node projects. */
},
"exclude": [
"node_modules", "babel.config.js", "metro.config.js", "jest.config.js"
]
}
2条答案
按热度按时间icomxhvb1#
这个错误告诉您从
import
当前指向的位置没有任何东西。import
-ing从一个文件夹实际上是在该文件夹中查找一个index.[d.](t|j)s
文件。如果该文件存在并且它有一个默认导出,您可以在导入时在本地范围内为导出分配一个名称:如果它包含命名导出,则可以使用方括号导入它们:
注意:上面的代码暗示了你的
index.ts
包含类似于:如果要从该文件导入所有命名导出,请使用
*
:更多示例here。
这里是spec
如果您将一个名为
icons.ts
的文件(具有默认导出)放置在/constants
文件夹中,则您的导入应该如下所示:jvlzgdj92#
在文件夹常量中创建index.ts并添加下一个常量,例如:
在下面定义的图标模块中:
即pattern -barrel,在其他模块中只需导入必要的常量: