tsconfig.json
从mocha调用时,是否可以覆盖使用哪个ts节点?
我的主要tsconfig.json
包含"module": "es2015"
,但我只想"module": "commonjs"
用于ts-node。
我试过了
mocha --compilers ts:ts-node/register,tsx:ts-node/register \
--compilerOptions '{"module":"commonjs"}' \
--require ts-node/register test/**/*.spec.ts*
但它不起作用:
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Module.m._compile (/usr/lib/node_modules/ts-node/src/index.ts:406:23)
at Module._extensions..js (module.js:422:10)
at Object.require.extensions.(anonymous function) [as .tsx] (/usr/lib/node_modules/ts-node/src/index.ts:409:12)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at /usr/lib/node_modules/mocha/lib/mocha.js:222:27
at Array.forEach (native)
at Mocha.loadFiles (/usr/lib/node_modules/mocha/lib/mocha.js:219:14)
at Mocha.run (/usr/lib/node_modules/mocha/lib/mocha.js:487:10)
at Object.<anonymous> (/usr/lib/node_modules/mocha/bin/_mocha:458:18)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:146:18)
at node.js:404:3
您需要通过TS_NODE_COMPILER_OPTIONS
环境变量设置配置
UNIX计算机上的示例代码:
TS_NODE_COMPILER_OPTIONS='{"module":"commonjs"}' \
mocha --require ts-node/register 'test/**/*.spec.{ts,tsx}'
从 存储库文档中提取的说明
CLI和程序选项
用括号表示的环境变量。
-T, --transpile-only
使用TypeScript的更快的transpileModule(TS_NODE_TRANSPILE_ONLY
,默认值:false)-I, --ignore [pattern]
覆盖路径模式以跳过编译(TS_NODE_IGNORE
,默认值:/ node_modules /)-P, --project [path]
TypeScript JSON项目文件的路径(TS_NODE_PROJECT
)-C, --compiler [name]
指定自定义的TypeScript编译器(TS_NODE_COMPILER
,默认值:打字稿)-D, --ignore-diagnostics [code]
通过诊断代码(TS_NODE_IGNORE_DIAGNOSTICS
)忽略TypeScript警告-O, --compiler-options [opts]
JSON对象与编译器选项合并(TS_NODE_COMPILER_OPTIONS
)--files
在启动时从tsconfig.json加载文件(TS_NODE_FILES
,默认值:false)--pretty
使用漂亮的诊断格式化程序(TS_NODE_PRETTY
,默认值:false)--skip-project
跳过项目配置解析和加载(TS_NODE_SKIP_PROJECT
,默认值:false)--skip-ignore
跳过忽略检查(TS_NODE_SKIP_IGNORE
,默认值:false)--log-error
记录类型错误而不是退出进程(TS_NODE_LOG_ERROR
,默认值:false)--prefer-ts-exts
重新排序文件扩展名,以便首选TypeScript导入(TS_NODE_PREFER_TS_EXTS
,默认值:false)问题内容: 我正在使用Mocha测试我的NodeJS应用程序。我无法弄清楚如何使用其代码覆盖功能。我尝试使用Google搜索,但没有找到任何合适的教程。请帮忙。 问题答案: 您需要一个额外的库来覆盖代码,而伊斯坦布尔的强大和便捷将使您震惊。通过Mocha测试后,请尝试以下操作: 现在,只需将命令nyc放在现有测试命令的前面,例如:
我正在使用Mocha测试我的NodeJS应用程序。我不知道如何使用它的代码覆盖功能。我试着谷歌它,但没有找到任何适当的教程。请帮忙。
我试图解决一个问题,其中有一个带正加权边的无向图,我需要找到一个最短的路径,该路径正好覆盖所有节点,一旦给定了起始节点和结束节点。此外,图是完整的(每个节点都连接到图中的所有其他节点)。我已经试着寻找一个算法可以解决这个问题,但我还没有找到一个解决这个问题。由于起止节点的限制,这并不完全是旅游销售员的问题。我将感谢任何帮助。
在这个特定的示例中,我扩展了
问题内容: 是否可以强制重命名os.rename覆盖另一个文件(如果已经存在)?例如,在下面的代码中,如果文件Tests.csv已经存在,则将其替换为Tests.txt文件(该文件也已重命名为Tests.csv)。 问题答案: 您可以尝试: 或然后:
问题内容: 我想更改admin django中的某些CSS,例如base.css。直接在Django库中进行更改是否更好?如何以最佳方式覆盖它? 问题答案: 这取决于你要做什么。虽然首先:不要直接在Django管理员中覆盖它。我认为你有两种选择是合理的: 通常,如果要更改管理员的外观,则应覆盖管理模板。此处详细介绍:覆盖管理模板。有时候,你可以扩展原始管理文件,然后覆盖块就像作为一个例子。 如果你