javascript - 如何从项目文件夹外部导入打字稿文件
问题描述
所以我正在制作一个苗条的打字稿库,文件夹结构如下
|- dist/
|- src/
|- components/
|- index.ts
|- tests/
|- src/
|- components/
|- index.ts
|- package.json
|- tsconfig.json
|- rollup.config.js
|- package.json
|- tsconfig.json
|- rollup.config.js
在tests
文件夹中我有一个单独的 svelte typescript 项目来测试库,我正在尝试将文件夹外部的tests
文件直接导入到tests
项目中,它给了我这个错误
[!] Error: Unexpected token (Note that you need plugins to import files that are not JavaScript)
..\src\utilities\navbarStore.ts (1:12)
1: import type { NavThemes } from "src/interfaces";
^
2: import { writable } from "svelte/store";
我已经尝试了几种方法,例如在tests
项目中使用路径tsconfig.json
并添加rootDirs
,仍然无法解决问题,有人知道如何解决这个问题吗?感谢您的帮助
这是主项目的 tsconfig.json :
{
"include": ["src/**/*"],
"exclude": ["node_modules/*", "public/*", "tests/*", "docs/*", "demo/*"],
"compilerOptions": {
"baseUrl": ".",
"lib": ["es2017", "dom"],
"target": "es2017",
"module": "esnext",
"sourceMap": true,
"rootDir": ".",
"composite": true,
"noEmitOnError": true,
"noErrorTruncation": true,
"declaration": true,
"declarationMap": true,
"noEmit": false,
"strict": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"types": ["svelte", "node"],
"allowSyntheticDefaultImports": true,
"importsNotUsedAsValues": "error",
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"esModuleInterop": true
}
}
这是tests
项目 tsconfig.json :
{
"include": ["src/**/*", "../src/**/*"],
"exclude": ["node_modules/*", "__sapper__/*", "public/*"],
"compilerOptions": {
"lib": ["es2017", "dom"],
"target": "es2017",
"noEmitOnError": true,
"noErrorTruncation": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"types": ["svelte", "node"],
"forceConsistentCasingInFileNames": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"rootDirs": [".", "../"],
"baseUrl": ".",
"paths": {
"svelteprojectts/*": ["../src/*"],
"svelteprojectjs/*": ["../dist/es/*"]
}
}
}
解决方案
推荐阅读
- java - Servlet 3.0 MultiPartConfig 不适用于多部分/相关
- java - 如何在没有用户交互的情况下以编程方式卸载 Android 应用程序?
- c# - 在 C# 中以多部分表单数据 POST 请求设置请求正文数据和文件
- docker - 容器化保管库不会在 ECS 中运行
- python - 查找外部启动的 Python 进程的详细信息
- java - Spring-Boot:如何处理时间戳(即在 sql 数据库中保存和获取时间戳)
- forms - Django 表单中的空字段验证
- c++ - OR 逻辑运算符从 C++ 到 Fortran 的转换
- machine-learning - 当拍摄的视频很快时,识别视频中特定植物的正确方法是什么?
- c - 使用 libsodium 库中的哈希函数时遇到问题