我正在尝试从node_modules中的typescript文件进行导入。该文件未经转译,并使用typescript语法:
user.ts:
export const getUserFromToken = (token: string) => {
return axios.get('/user', {
headers: { authorization: `Bearer ${token}` }
}).then(({ data }) => data)
}
我这样导入:
import { getUserFromToken } from 'common-files/api/user'
,其中common-files
是在package.json中注册的模块。尝试编译时,我收到以下错误提示:
../commons/api/user.ts
Module parse failed: C:\Users\xxxx\Desktop\xxxx\commons\api\user.ts
Unexpected token (9:38)
You may need an appropriate loader to handle this file type.
| export const getUserFromToken = (token: string) => {
| return axios.get('/user', {
| headers: { authorization: `Bearer ${token}` }
这让我相信它没有编译ts文件,因为当我移除字符串类型时,它变成了一个有效的es6文件,并且可以正确启动。
在我的tsconfig.json文件中,我有:
"exclude": [
"node_modules",
"build",
"scripts",
"acceptance-tests",
"webpack",
"jest",
"src/setupTests.ts"
]
我在思考,也许可以排除node_modules,除了那个名为common-files
的包,但不知道如何做到。有没有好的方法可以实现我想要的结果呢?