Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从项目文件夹外部导入typescript文件_Javascript_Typescript_Svelte_Rollup_Svelte 3 - Fatal编程技术网

Javascript 如何从项目文件夹外部导入typescript文件

Javascript 如何从项目文件夹外部导入typescript文件,javascript,typescript,svelte,rollup,svelte-3,Javascript,Typescript,Svelte,Rollup,Svelte 3,所以我制作了一个小巧的typescript库,文件夹结构如下 |- 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

所以我制作了一个小巧的typescript库,文件夹结构如下

|- 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";
我尝试过几种方法,比如在
测试中使用路径
project
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
    }
}
{
    "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/*"]
        }
    }
}
下面是
tests
project 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
    }
}
{
    "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/*"]
        }
    }
}

这听起来像是构建设置的问题。你能发布你的
package.json
和bundle-config(
rollup.config.js
)吗?@dummidumm感谢你花时间回复,幸运的是我找到了另一个解决这个问题的stackoverflow问题,我想这就是我正在寻找的解决方案: