TypeScript通过tsc命令。输出到单个文件,无需串联
是否有一种将单个.ts文件编译到不同目录的方法? 从编译手动命令到不同目录的唯一方法是通过--out命令,但是它也确实对依赖文件的串联了,我不想要这些文件: --out FILE|DIRECTORY Concatenate and emit output to single file | Redirect output structure to the directory 是否有一种方法可以重定向输出而不串联输入文件? 解决方案 不幸的是,如果而无需串联,就不可能将多个*.ts文件编译为一个*.js.因为在API级别的打字稿编译选项上是不可能的. 请参阅--out选项: 弃用.使用-Affile. --outFile选项的文档: 连接并发出输出到单文件.串联顺序由传递给命令行上编译器的文件列表以及三重斜线引用和导入确定.有关更多详细信息,请参见输出文件订单文档. 全部 typescript Compiler option
6 2024-04-05
编程技术问答社区
tsconfig.json中的typecript outDir设置不起作用。
在package.json中使用时,我似乎无法获得outDir标志.目录结构非常简单:tsconfig.json在根级别,以及src/目录和单个index.ts文件以及代表其他模块的其他目录. 在索引文件上运行tsc命令时,它会在其旁边而不是在构建目录中创建一个新的命令.我在做什么错? 我的tsconfig: { "compilerOptions": { "outDir": "build" } } 我的NPM构建脚本: "build": "tsc src/index.ts" 我从项目的根目录中调用脚本.有趣的是,使用--outDir标志运行相同的脚本工作正常. 解决方案 当您将文件传递给使用tsc src/index.ts的文件时,您的tsconfig.json被忽略. 来自 documentation : > 当命令行上指定输入文件时,tsconfig.json 文件被忽略. 您的NPM构建脚本应该只是tsc而
2 2024-04-04
编程技术问答社区
使用Typescript 3构建到dist/文件夹时保持src/文件夹结构
我有一个带有此结构的打字稿nodejs服务器: tsconfig.json package.json src/ middleware/ utils/ index.ts dist/ middleware/ utils/ index.js 使用TypeScript 2时,我能够将项目从src/转换为dist/文件夹,并具有我目录结构的镜像. 随着打字稿3的发布,他们引入了项目参考,并更改了代码转移到输出目录的方式.现在tsc以这样的嵌套方式输出到Dist/文件夹: dist/ src/ middleware/ utils/ index.js 我的tsconfig.json是: { "compilerOptions": { "target": "es5", "module": "commonjs", "moduleResolutio
6 2024-04-04
编程技术问答社区
如何将一个Relay查询从TypeScript转译到ES5?
我正在打字稿中编写Web应用程序.该应用使用Facebook的React和React和继电器. 我的打字稿源代码使用打字稿编译器TSC将其编译到ES6代码中.然后,使用Babel将ES6代码转移到ES5代码中.为了使继电器在浏览器中工作,Babel插件需要转换继电器graphQl查询: https://facebook.github.io/relay/docs/guides-babel-plugin.html .问题是,因为TSC首先将这些查询转移,所以Babel继电器插件不再识别它们,因此它们不会被转移到浏览器所理解的内容中,因此浏览器会引发错误: 未经不变的违规:relayQl:意外调用 运行.要么没有建立预鲍尔变换,要么未能 确定此呼叫网站.确保逐字使用它 Relay.QL. 我的打字稿源代码: const SiteQuery = { store: () => Relay.QL`query { site }` }; ...将TSC编译成类似的东西:
6 2024-03-26
编程技术问答社区
我如何制作不需要在导入中添加'.default'的ESM/CJS模块
我可以设置我的软件包. "main": "dist/cjs/index.js", "module": "dist/esm/index.js", 我还可以设置我的打字稿编译器来创建两个分布: // for ESM { "compilerOptions": { "module": "es2020", "target": "es2015", "declaration": true, "esModuleInterop": true, "moduleResolution": "node", "forceConsistentCasingInFileNames": true, "outDir": "./dist/esm" }, "include": [ "src/**/*" ] } // for CJS "extends": "./tsconfig.json", "compilerO
8 2024-03-26
编程技术问答社区
无法转译含有async await的TypeScript
试图转移以下包含async和await关键字的打字稿代码 async function foo() { await bar(); } 我得到以下错误 src/aa.ts(1,7): error TS1005: ';' expected. src/aa.ts(2,11): error TS1005: ';' expected. 结果是带有此内容的.js文件 async; function foo() { await; bar(); } 我正在使用以下TSC选项:-t es6 -m commonjs,按照此MSDN博客.我安装了打字稿1.8.9. 有什么想法? 解决方案 由于某种原因,打字稿编译器未识别async和await关键字.即使Typescript编译器版本是正确的版本,这也是如此. 我为解决此问题所做的是卸载TSC,并在全球安装打字稿: npm uninstall --global tsc npm in
4 2024-03-18
编程技术问答社区
缺少*.ts文件(由于`npm链接`?)
我在一个Angular5项目中有此导入语句: import {plugins, SCECodeGenType} from 'sce-plugins/code-generation'; 这将在我的文件系统上解决此路径: /Users/.../suman-chrome-extension/node_modules/sce-plugins/code-generation/index.d.ts 使用ng build -w构建应用程序时,我会收到此错误: ERROR in ../sce-plugins/code-generation/index.ts Module build failed: Error: /Users/alexamil/WebstormProjects/oresoftware/sumanjs/sce-plugins/code-generation/index.ts is missing from the TypeScript compilation. P
10 2024-02-22
编程技术问答社区
导入ng2-bootstrap改变了我的tsc输出目录结构
i具有以下文件夹结构 dist src module1 m1.ts module2 m2.ts .tsconfig.json ... i具有tsc配置为dist/js>>>>> npm run tsc,因此我有以下内容: dist js module1 m1.js module2 m2.js src ... 经过大量的挣扎,我设法将ng-bootstrap集成到我的项目中. 如果import来自ng2-bootstrap在我的应用中的某个地方,例如: import { ACCORDION_DIRECTIVES } from 'ng2-bootstrap/components/accordion'; 和运行npm run tsc我的文件夹结构更改为: dist js node_modules ng2-bootst
6 2024-02-21
编程技术问答社区
tsc似乎没有从tsconfig.json中拾取 "排除 "选项。
我正在努力让TSC拿起我的tsconfig.json文件并编译我的.TS文件.它遇到了重复错误,我试图用我的tsconfig.json避免. 我有: package.json tsconfig.json typings.json typings / main/ ...etc browser/ ...etc main.d.ts browser.d.ts src / ... 我的打字.JSON看起来像: { "ambientDependencies": { "es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654", "jasmine": "registry:dt/jasmine#2.2.0+20160412134438", "node": "registry:dt/node#4.0.0+201605091
8 2024-02-21
编程技术问答社区
如何将Angular2 TypeScript应用程序编译为一个文件?
我意识到我可以使用tsc my_app.ts --target system编译我的应用程序,并且它将为每个导入的模块生成一个SystemJS包装的文件,这很棒,但是它会生成匿名(无名)函数,因此我不能仅仅使它们加入它们到一个文件. 我想到要提出这个问题"如何将打字稿编译到命名SystemJS模块",但是我的目标只是将我的Angular2应用程序编译为一个文件,是否是Systemjs. 解决方案 --outFile选项以来可与--module选项(适用于AMD和SystemJS)一起使用Typescript 1.8,因此可以在本地进行. 如果Angular 2不会从SystemJS转换,则将您的应用程序捆绑到单个文件中的方法应该像tsc app.ts --target ES5 --module system --experimentalDecorators --moduleResolution node --emitDecoratorMetadata --outFile a
14 2024-02-21
编程技术问答社区
SystemJS:加载构建文件
我的Systemjs文件看起来像这样: (function(global) { // map tells the System loader where to look for things var map = { 'angular2-boot': 'app', // 'dist', '@angular': 'node_modules/@angular', 'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 'rxjs': 'node_modules/rxjs' }; // packages tells the System loader how to load when no filename and/or no extension
20 2024-02-20
编程技术问答社区
为什么在tsconfig目标设置为ES5的情况下还需要ES7/array polyfill?
我在tsconfig.json中具有以下设置.我添加了"es2017"使用Array.includes.: { "compilerOptions": { "lib": [ "es6", "es2017", "dom" ], "module": "es6", "target": "es5" } } 现在,我意识到,我必须将import 'core-js/es7/array';添加到polyfills.ts,也将Array.includes也用于Internet Explorer11.没有Array.includes. 为什么我需要添加polyfill? 解决方案 typeScript不自动polyfill代码(请参阅 microsoft/typescript#3101 ).相关github问题的"官方"原因似乎是,正如@ryancavanaugh say : 让编译器尝试找出您需要哪种
28 2024-02-20
编程技术问答社区
RequireJS模块的TypeScript编译生成line对象。定义属性(出口、,��__E模块��, {value:true});如何摆脱它?
这就是我的tsconfig.json文件的外观: { "compileOnSave": true, "compilerOptions": { "module": "amd", "noImplicitAny": false, "removeComments": false, "preserveConstEnums": true, "strictNullChecks": true, "sourceMap": false } } 我有一个名为A.TS的打字稿文件,该文件是AMD模块(我正在使用requirejs),看起来像: export function a() { var a = { b: 5 }; return a; } 编译的JavaScript文件看起来像: define(["require", "
26 2024-01-26
编程技术问答社区
TypeScript:编译删除未引用的导入
在我们的项目中,我们将requirejs用作模块加载程序.我们的一些模块会影响全球库,因此不会直接在其引用的模块中使用. . 示例: define(['definitely/goingto/usethis/','just/referencingthis/forpackaging'], function(useThis) { useThis.likeIPromised(); // the following call can only be made when the second required file is available someGlobalAvailableVariable.someMethod(); }); 在JavaScript中编写我的模块时,这可以按预期工作.但是,我们将项目逐步转换为打字稿.给定上面的示例,这将导致: import useThis = module("definitely/goingto/usethis
24 2024-01-26
编程技术问答社区
使用客户端/服务器节点设置的Webpack?
我正在尝试为带有节点后端服务器的Angular2应用程序设置基于WebPack的流.经过几个小时的震惊,我设法让客户愉快地构建,但是我无法弄清楚现在如何整合服务器构建.我的服务器使用发电机,因此必须target ES6,并且需要指向不同的键入文件(main.d.ts而不是browser.d.ts).. 我的源树看起来像; / -- client/ -- -- (*.ts) -- server/ -- -- (*.ts) -- webpack.config.js -- typings/ -- -- browser.d.ts -- -- main.d.ts 我认为客户端和服务器文件夹中的tsconfig.json可能会起作用,但是那里没有运气.我也找不到一种让HTML-WEBPACK-PLUGIN忽略我的服务器捆绑的方法,而不是将其注入index.html.我当前的Tsconf
12 2023-12-01
编程技术问答社区
当我只想让它在一个文件夹/文件中运行时,WebPack ts-loader正在编译所有文件
我认为使用WebPack,typecript和TS-Loader在我认为是由Typescript 2.1.4引起的问题,但显然一直存在. . 您可以从我的其他帖子中查看所有详细信息: typescript 2.1.4 webpack ts-loader的破坏变化/a> 简而仍在尝试在/服务器上运行(在我的其他帖子中,显示服务器文件夹中的汇编错误,何时应从客户端文件夹中运行). 我在做什么错,我该如何修复它,因此它仅在/client/.ts文件上运行,并特别是从app.ts? 中漫步结构 这是我到目前为止与我一起工作的所有内容: https://github.com/cmdrshepard-com/cmdrshepardpie/test-test-test-test-tes--papp/app/tree/tree/develop, 谢谢 解决方案 您可以通过在webpack.config.js中指定选项onlyCompileBundledFiles so
16 2023-12-01
编程技术问答社区
VSCode TypeScript problemMatcher `$tsc-watch`没有观察到。
我试图避免在tsconfig.json配置中必须使用watch: true. 通过VSCODE的任务,我正在使用基本问题匹配器$tsc-watch,但是在构建时,它并未在观察模式下启动tsc.我正在添加gulp支持,我看到有gulp-watch,但我想了解为什么$tsc-watch我不相信它. 解决方案 我通过查看typescript扩展的taskProvider.js来弄清楚这一点.为了使tsc-watch函数功能设置所需的任务option: "watch" { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build",
12 2023-11-25
编程技术问答社区
Visual Studio 2013的打字稿1.3缺少SDK目录(TSC.EXE)
打字稿v1.3是 a>,所以我安装了 vS2013 > > 安装后,我可以看到Visual Studio现在知道"受保护的"关键字和元组类型,这很棒! ,但随后我更改了 *.csproj文件中的TypescriptToolSversion属性从1.1到1.3: 1.3 这样做后,我会在构建时会出现以下错误: 指定的任务可执行位置" C:\ Program Files (x86)\ Microsoft SDKS \ Typescript \ 1.3 \ tsc.exe" 无效. 尚未由安装程序创建文件夹" 1.3". 作为解决方法,我只能通过制作1.1编译器的副本来使它起作用. 有人知道为什么在此版本中不包含1.3文件夹? nb:使用vs Professional 2013(12.0.30723.00更新3) 解决方案 当前1
10 2023-11-24
编程技术问答社区
找不到Typescript编译器: 命令 "tsc "无效
刚刚安装了VS2012的TypeScript扩展名,然后遵循安装for Visual Studio 2012 ,然后教程致电编译器: > tsc greeter.ts 但是,当我尝试编译.ts文件时,我应该在哪里输入:tsc greeter.ts?在VS命令行和Windows控制台中尝试过它,请始终获取以下消息:TSC未被识别为命令(Command "tsc" is not valid.). 解决方案 确保您有 C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.8.0.0 或, C:\Program Files\Microsoft SDKs\TypeScript\0.8.0.0 在您的路上.如果没有,请尝试重新启动CMD.EXE,看看是否出现新副本.如果失败,请尝试将上述一个手动添加到您的路径中. 其他解决方案 如果您使用TSC作为节点模块,请确保已将其安装在 npm instal
10 2023-11-23
编程技术问答社区