在一个简单的"hello world"开玩笑的实现中,我收到此错误:语法错误:意外的令牌"."



我在https://jestjs.io/docs/getting-started

我有一个目录结构,比如。。。

learnjest/sum.js
learnjest/sum.test.js
learnjest/package.json
learnjest/package-lock.json
learnjest/node_modules

我的sum.js、sum.test.js和package.json都是"入门;实例

sum.js:

function sum(a, b) {
return a + b;
}
module.exports = sum;

sum.test.js:

const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});

package.json:

{
"scripts": {
"test": "jest"
}
}

当我运行npm test时,我看到。。。

> @ test /path/to/learnjest
> jest
/path/to/learnjest/node_modules/jest/node_modules/jest-cli/build/cli/index.js:161
if (error?.stack) {
^
SyntaxError: Unexpected token '.'
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/path/to/learnjest/node_modules/jest/node_modules/jest-cli/build/index.js:13:12)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
npm ERR! Test failed.  See above for more details.
__drush_ps1: command not found
__git_ps1: command not found

如果你使用的是Node.js的旧版本,就会出现这个问题。例如,我在版本12时也遇到了同样的问题。在我将Node.js版本升级到19.2之后,错误得到了修复。

最新更新