找不到模块ts-node -假设路径或宗地是问题所在

oewdyzsn  于 2023-05-28  发布在  Node.js
关注(0)|答案(2)|浏览(101)

我正在运行swell/svala。运行yarn并使用yarn run serve后,应用程序启动,但抛出一个错误:
×无法从“path\to\svala”中找到模块“path\to\svala$(ts-node
这个项目对我来说是陌生的,我从来没有使用过ts-node和parcel。在做了一堆谷歌搜索之后,大多数链接都指向SO Q&A,其中的罪魁祸首通常是路径。
这是package.json中的相关命令

"serve": "parcel $(ts-node src/generate_index.ts ${App:-Editor})",

我也试过更改命令以包含“正确路径”,但得到的错误信息几乎相同。

"serve": "parcel $(node_modules/ts-node src/generate_index.ts ${App:-Editor})",

×无法找到模块'path\to\svala$(node_modules\ts-node' from 'path\to\svala'
问题可能不是路径,而是包裹,但我不知道$( ... )应该做什么。
就像我说的,我真的不知道这里发生了什么,所以我想寻求帮助解决这个问题。
模块ts-node位于svala\node_modules\ts-node中
这是tsconfig-json

{
  "compilerOptions": {
    "outDir": "./dist",
    "sourceMap": true,
    "noImplicitAny": true,
    "strict": true,
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "jsx": "react",
    "lib": ["es2017", "dom"],
    "noEmitOnError": true,
    "allowUnreachableCode": true,
    "keyofStringsOnly": true,
    "resolveJsonModule": true,
    "esModuleInterop": true
  },
  "include": ["src", "test"],
  "parcelTsPluginOptions": {
    "transpileOnly": false
  }
}

如果我能提供任何额外的信息,请让我知道。
谢谢你

**编辑1:**根据请求,添加stacktrace。

×  Cannot find module path\to\svala\$(ts-node' from 'path\to\svala'
    at Resolver.resolve (path\to\svala\node_modules\parcel-bundler\src\Resolver.js:76:17)
    at async Bundler.resolveAsset (path\to\svala\node_modules\parcel-bundler\src\Bundler.js:308:23)
    at async Bundler.bundle (path\to\svala\node_modules\parcel-bundler\src\Bundler.js:182:26)
ldioqlga

ldioqlga1#

请问你能添加一个堆栈跟踪你在终端得到什么?
另外,你知道Typescript有什么关键的编译器选项吗?也就是说,你的tsconfig.json中的任何选项都是特定于swell/svala项目的吗?或者你可以精简编译器选项吗?
我发布了一个精简的tsconfig.json,我通常用于我的TypeScript项目。

{
    "compilerOptions": {
        "target": "es2015",
        "module": "commonjs",
        "allowJs": true,
        "sourceMap": true,
        "outDir": "./dist",
        "importHelpers": true,
        "moduleResolution": "node",
        "lib": ["es2018"]
    },
    "include": ["./src"],
    "exclude": ["node_modules"]
}

如果你能提供更多的信息,我可能会提供更多的帮助:)

rggaifut

rggaifut2#

我不得不将package.json中的serve命令更改为:

"serve": "set NODE_ENV=%App:-Editor%& parcel src/generate_index.ts",

set NODE_ENV=%App:-Editor%:
将NODE_ENV环境变量设置为%App%

相关问题