相关疑难解决方法(0)

“package.json”不在“rootDir”下

我正在尝试package.json在我的 TypeScript 应用程序中导入:

import packageJson from '../package.json';
Run Code Online (Sandbox Code Playgroud)

我的tsconfig.json包含以下内容:

{
  "compilerOptions": {
    "rootDir": "./src/"
    "outDir": "./dist/",
    "baseUrl": ".",
    "resolveJsonModule": true
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是当我编译这个时,我得到

error TS6059: File '/path/to/package.json' is not under 'rootDir' '/path/to/app/src/'. 'rootDir' is expected to contain all source files.

我不知道我理解这个问题,因为这两个./src//.dist具有相同的父..,所以打字稿可能只是独自离开import '../package.json'它的工作无论从rootDiroutDir

无论如何,我尝试了以下方法,但结果并不令人满意:

  • 删除rootDir- 编译有效,但dist将包含dist/src我不想要的
  • 删除outDir- 然后src.js文件污染(.js.map如果sourceMap是真的) …

javascript typescript

41
推荐指数
4
解决办法
2万
查看次数

如何使用ts-loader忽略webpack中的测试文件

我有一个项目运行名为"*.test.ts"的测试文件,其中包含jest和ts-jest.这很好但是当我启动webpack时,我得到了测试文件的错误:

ERROR in /some/path/note.test.ts
(27,3): error TS2304: Cannot find name '
Run Code Online (Sandbox Code Playgroud)

如何修复webpack配置以完全忽略测试文件?

这是webpack配置:

const path = require ( 'path' )

module.exports =
{ entry: './src/boot.tsx'
, node:
  { __dirname: false
  }
, output:
  { path: path.resolve ( __dirname, 'app', 'build' )
  , filename: 'app.js'
  , publicPath: '/live-reload/'
  }
, devtool: 'source-map'
, resolve:
  { extensions: ['', '.js', '.ts', '.tsx']
  }
, module:
  { loaders:
    [ { test: /\.tsx?$/
      , exclude: /node_modules/
      , loader: 'ts-loader'
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

[编辑]

我使用测试功能来记录看到的文件并且测试文件没有出现在那里,所以问题不在webpack上,包括错误的文件,而是打字机行为不正常(因为测试工作正常).

typescript webpack

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

typescript ×2

javascript ×1

webpack ×1