- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试了解 typescript 模块编译器选项。
我浏览了 typescript 文档 - docs
它说模块选项是 Specify module code generation
.
这意味着什么?
这是否意味着如果我将模块选项设置为 commonjs
,那么编译器会将代码编译成commonjs?但是我们有像 esnext, es16
这样的选项。 .经过Docs: Difference between esnext, es6, es2015 module targets后,我明白了import() expressions are understood in esnext
.无论如何,编译器的目的是将代码编译成浏览器可理解的语法(commonjs)。因此将代码编译为给定的模块类型没有意义。
那么这是否意味着您提供的模块类型会告诉编译器代码是用什么语法编写的?意味着它必须从哪个代码编译到commonjs?但是我们有模块类型commonjs
这是经常使用的,但我们几乎从不使用纯 commonjs 语法编写代码。
what is the purpose of tsconfig.json? stackoverflow 回答说 module specifies module manager
.我不明白那是什么意思。
我也经历过Understanding “target” and “module” in tsconfig和 tsconfig module options - does 'System' refer to SystemJS? .
这些似乎都不能正确回答我的问题。
tsconfig.json
{
"compilerOptions: {
"module": "esnext"
}
}
最佳答案
TLDR; module
在 tsconfig.json 中告诉编译器对发出的 .js 文件中的模块使用什么语法。常用值为"commonjs"
(require/module.exports) 或 "ES2015"
(导入/导出关键字),但还有其他模块系统。 module
影响发出代码的模块语法,而 target
影响其余部分。
Specify module code generation
是什么意思意思是? "module"
在 tsconfig.json 中告诉 Typescript (TS) 编译器什么模块语法
"module"
至
"commonjs"
在 tsconfig.json 中,这意味着编译后的 .js 文件中的模块将使用 commonJS (CJS) 语法,所以
var x = require(...)
和
module.exports = {...}
进口和导出。
"module"
至
"ES2015"
例如,编译后的代码将使用
import
和
export
ES2015 模块语法中使用的关键字。有关其他语法的概述,您可以查看
here .
"module"
至
"ESNext"
启用对这些通常尚未添加到官方规范中的功能的支持。如
import(...)
表达式是
dynamic import .
"module"
设置不影响其余代码,
"target"
而是用于此,并指定输出应兼容的 JS 版本。
require(...)
和
module.exports = {...}
在 Node 项目中,但还希望代码利用 ES2015 功能,如
let
和
const
在代码中(出于可读性/性能/其他原因)。
"module"
至
"commonjs"
和
"target"
至
"ES2015"
在 tsconfig.
关于javascript - tsconfig 中的模块选项是用来做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55471795/
我有两个项目:app 和 lib。 app 依赖于 lib。 app 是一个严格的 Typescript 项目,lib 不工作 严格。 我使用 Typescript 项目引用将它们连接在一起: ./t
当我尝试使用VITE安装Reaction with TypeScrip时,我在tsfig.json中遇到错误。这就是我面临错误的地方。。同样的代码库在我同事的PC上运行得很好,但我面临着这个问题。。为
typescript 版本: 1.8.30.0 问题 我们有许多网络项目的解决方案。我们最近创建了一个使用 tsconfig.json 文件的新项目。 这影响了其他项目,相信他们有一个 tsconfi
我们有一个这样的代码库设置: -A --utils ---index.ts --index.ts --tsconfig.json -B --utils ---index.ts --index.ts -
我是 Angular 的新手。我使用 angular-cli 了解 Angular,我找到了文件 tsconfig.json 和 tsconfig.app.json。这两个都与 typescript
我正在使用 Vite 创建 a new React + TypeScript project . 创建项目后,根文件夹下有两个 TypeScript 配置文件:tsconfig.json和 tscon
学习 TypeScript 和 Visual Studio 就是提示: Build: Failed to parse file 'C:/.../tsconfig.json/tsconfig.json'
请引用此 git 存储库:https://github.com/AngularClass/angular-starter Angular4 Webpack Starter 带有 2 个文件: tsco
**摘要:**原来在我们创建tsconfig.json文件的时候,VSCode会自动检测当前项目当中是否有TS文件;如果没有的话,就会报这个错提示我们去创建一个文件,再去使用。 本文分享自华为云社区《
我正在尝试将我的 Typescript 项目配置为具有以下目录结构: src/ ├── client/ │ └── tsconfig.json │ ├── server/ │ └── tsco
我想为每个脚本文件夹编译一个新的js文件夹。这可以用 tsconfig.json 实现吗? 目录 folder1 scripts index.ts folder2 scripts
我正在尝试了解 typescript 模块编译器选项。 我浏览了 typescript 文档 - docs 它说模块选项是 Specify module code generation . 这意味着什
在探索 tsconfig.json 文件时,我坚持理解 tsconfig.json 中增量的确切含义 最佳答案 通过将先前编译的信息读/写到磁盘上的文件来启用增量编译。该文件由 --tsBuildIn
不知道为什么,但在我刚刚创建的 tsconfig.js 文件中出现解析错误。来源:https://www.typescriptlang.org/docs/handbook/react-&-webpac
根据 TypeScript's docs ,在 types 中设置一个值将覆盖默认行为并且只查找我指定的类型: By default all visible ”@types” packages are
我现在很抓狂,为什么我的 typescript 编译 (tsc) 总是尝试编译 node_modules 文件,即使我已经指定排除这个文件夹。 [tl;dr;:这是因为我有导入但我不知道如何从编译中排
根据我的理解,我们可以分配值“commonjs”或“AMD”到 tsconfig.json 中的“模块”属性。 我们可以分配除这两个之外的任何其他值吗? .... .... { "compile
有人可以解释为什么这不会引发错误吗? interface A { id?: number; } const a:A = { id: 5 }; const testA: boolean
我正在尝试在我的 Angular 5 应用程序中使用仅在 JavaScript 语言中可用的 .js 文件,因此我在 TypeScript 中找不到替代方案。 问题是我添加了 "allowJs": t
我正在使用 create-react-app 并且我还有一些 ts 和 tsx 文件。在我的 tsconfig 文件(见下文)中,我将 noEmit 设置为 false,因为需要发出 js 文件。但是
我是一名优秀的程序员,十分优秀!