Node.js 如何使Typescript/ts节点接受lookback断言(ECMAScript 2018特性)?
我有一个使用lookback的正则表达式:Node.js 如何使Typescript/ts节点接受lookback断言(ECMAScript 2018特性)?,node.js,regex,typescript,Node.js,Regex,Typescript,我有一个使用lookback的正则表达式: (?<!\S)\'\S(.*?)\S\'(?!\S) 但我也犯了同样的错误 有什么建议吗 注意:我通过nvm将节点更新为第13版。执行node script.js可以工作,但不能执行ts node script.ts。我已经有了最新版本的ts node,所以我不知道该怎么办。Lookback是在第8版的某个时候首次引入node的,但由于(当时)它是一个实验性功能,因此需要--harmony标志(这支持实验性功能,例如新语法,目前还不被认为是10
(?<!\S)\'\S(.*?)\S\'(?!\S)
但我也犯了同样的错误
有什么建议吗
注意:我通过
nvm
将节点更新为第13版。执行node script.js
可以工作,但不能执行ts node script.ts
。我已经有了最新版本的ts node
,所以我不知道该怎么办。Lookback是在第8版的某个时候首次引入node的,但由于(当时)它是一个实验性功能,因此需要--harmony
标志(这支持实验性功能,例如新语法,目前还不被认为是100%可靠和稳定的)。让ts节点运行带有harmony
标志的节点有点难看-您必须运行本机节点并让它预加载ts节点,类似于:
node --harmony -r ts-node/register index.ts
(确保ts节点处于活动状态)
Lookbehind已脱离协调,因此如果将节点更新到版本10,则可以在不使用协调标志的情况下运行Lookbehind。(看起来版本也支持它)运行ts Node src/index.ts
其中index.ts
是const模式=/(?并且我的tsconfig.json与您的相同,因此代码运行时没有错误,例如me@CertainPerformance嗯,也许问题出在我的节点版本?我的是v8.9.0。(我不认为问题出在TypeScript或ts node上,因为我最近安装了它们。@CertainPerformance我通过nvm安装了最新的节点版本。同样的错误。奇怪。我通过nvm切换到节点13并再次安装了ts node:npm install ts node-g/home/alex/.nvm/versions/node/v13.7.0/bin/ts node
如果您也在本地安装,则al标志可能会导致此问题-尝试在本地安装。啊,执行nodescript.js
工作。因此问题是ts node
…和声标志不适用于ts node
。我想知道如何解决此问题。没关系。我更新了所有内容,现在所有内容都正常了。谢谢。
{
"compilerOptions": {
"target": "es6",
"lib": [
"ES2018" // I also tried es2018. No luck.
],
"module": "commonjs",
"outDir": "out",
"sourceMap": true
}
}
node --harmony -r ts-node/register index.ts