gpt4 book ai didi

javascript - TypeScript tsconfig 某些文件夹中的输出文件

转载 作者:行者123 更新时间:2023-11-28 18:46:16 28 4
gpt4 key购买 nike

我试图拥有 3 个文件夹(ts、js、map)... 1 个用于 TS,1 个用于编译的 js,1 个用于映射文件。这不可能吗?我在这里看到了几个问题,但没有找到答案。我正在使用 Webstorm、Npm,并运行 Angular2 example 。我将 ts 文件放在一个文件夹中,将所有输出放在另一个文件夹中,但无法将 map 放入其自己的文件夹中。最坏的情况是高级至少我可以把 map 变成一个文件。我尝试过 inlineSourceMapinlineSourcessourceRootmapRoot = 全部失败。

tsconfig.json(link to schema):

{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors":true,
"sourceMap": true,
------ Tried a combination of...
"inlineSourceMap": true,
"inlineSources": true,
"mapRoot": "app/map",
"sourceRoot": "app/map",
------
"outDir": "app/js"
},
"exclude": [
"node_modules",
"bower_components"
]

package.json

{
"name": "angular2-quickstart",
"version": "1.0.0",
"scripts": {
"tsc": "tsc",
"tsc:w": "tsc -w",
"lite": "lite-server",
"start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
},
"license": "ISC",
"dependencies": {
"angular2": "2.0.0-beta.2",
"systemjs": "0.19.6",
"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-beta.0",
"zone.js": "0.5.10"
},
"devDependencies": {
"concurrently": "^1.0.0",
"lite-server": "^1.3.4",
"typescript": "^1.7.5"
},
"main": "",
"author": "",
"description": ""
}

最佳答案

您走在正确的道路上。在 tsconfig.json 中使用 "outDir" 设置您想要 transpiled.js 的输出位置,然后使用 gulp、grunt 或 custom 等任务来复制 map .js 文件复制到所需位置。

sourceRootsourceMap 并没有像你想象的那样做。它们只是允许您在 sourceMap 中指定一个路径,您的浏览器应该在其中找到 map 和源 ts。它们不会改变输出位置。

示例 gulpfile.js

var gulp = require('gulp');
var del = require('del');

gulp.task('move' => () {
gulp.src(['app/js/**/*.map.js'])
.pipe(del())
.pile(dest('app/map'))
})

类似的东西应该有效。

关于javascript - TypeScript tsconfig 某些文件夹中的输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35297600/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com