请问,为何不能这样运行ts文件呢?
文件util.ts
:
import ip from 'ip'export const getLocalIPs = () => { //var ip = require("ip"); console.dir ( ip.address() ); return ip.address()}
文件:__test__/util.test.ts
export default {} import { getLocalIPs } from '../util'getLocalIPs()
然后我在执行:
npx ts-node __test__/util.test.ts
的时候,报错:
npx ts-node util.test.ts (node:61127) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.(Use `node --trace-warnings ...` to show where the warning was created)/Users/john/Desktop/projects/个人/nextjs/renderer/components/func/Traceroute/__test__/util.test.ts:1import { getLocalIPs } from '../util';^^^^^^SyntaxError: Cannot use import statement outside a module at Object.compileFunction (node:vm:360:18) at wrapSafe (node:internal/modules/cjs/loader:1084:15) at Module._compile (node:internal/modules/cjs/loader:1119:27) at Module.m._compile (/Users/john/.npm/_npx/1bf7c3c15bf47d04/node_modules/ts-node/src/index.ts:1618:23) at Module._extensions..js (node:internal/modules/cjs/loader:1209:10) at Object.require.extensions.<computed> [as .ts] (/Users/john/.npm/_npx/1bf7c3c15bf47d04/node_modules/ts-node/src/index.ts:1621:12) at Module.load (node:internal/modules/cjs/loader:1033:32) at Function.Module._load (node:internal/modules/cjs/loader:868:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at phase4 (/Users/john/.npm/_npx/1bf7c3c15bf47d04/node_modules/ts-node/src/bin.ts:649:14)mba:__test__ john$ npx ts-node util.test.ts (node:61376) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.(Use `node --trace-warnings ...` to show where the warning was created)/Users/john/Desktop/projects/个人/nextjs/renderer/components/func/Traceroute/__test__/util.test.ts:1export default {};^^^^^^SyntaxError: Unexpected token 'export' at Object.compileFunction (node:vm:360:18) at wrapSafe (node:internal/modules/cjs/loader:1084:15) at Module._compile (node:internal/modules/cjs/loader:1119:27) at Module.m._compile (/Users/john/.npm/_npx/1bf7c3c15bf47d04/node_modules/ts-node/src/index.ts:1618:23) at Module._extensions..js (node:internal/modules/cjs/loader:1209:10) at Object.require.extensions.<computed> [as .ts] (/Users/john/.npm/_npx/1bf7c3c15bf47d04/node_modules/ts-node/src/index.ts:1621:12) at Module.load (node:internal/modules/cjs/loader:1033:32) at Function.Module._load (node:internal/modules/cjs/loader:868:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at phase4 (/Users/john/.npm/_npx/1bf7c3c15bf47d04/node_modules/ts-node/src/bin.ts:649:14)
请问,这个报错的原因是什么呢? 我已经在
文件:__test__/util.test.ts
添加了导出啊:
export default {}
package.json里设置"type": "module":
"type": "module"
或者tsconfig.json配置:
{ "compilerOptions": { "module": "ESNext" }}
我创建了一个ts文件如下: 当我运行时候报错: 如果我用require就可以引入。 执行成功。 是否这个意思意味的是,ts-morph 这个库没有导出esm模块,只导出了cjs模块?
报错提示: “Type”表示值,但在此处用作类型。是否指“类型 Type”? 我传入的Type 是一个class类 ,然后里面想要这样指定类型 这个可以做到么 有什么好的方式?
为什么在不能在TypeScript项目执行.ts文件? 我想要封装一个类,并且使用ts-node执行: src/index.ts test/testPerson.ts 我运行ts-node 执行 测试文件报错:不识别.ts后缀的文件: 我按照网上说的,找到package.json 删除: "type": "module", 但是又会报其他错误: 请问: 1、package.json内"type":
我看到有一个Type这样定义: 然后我鼠标移动到: Timestamp上面,显示的是: 然后我移动到:getTime,显示的也是: 请问下,如果:type Timestamp = number, 为何不直接这样定义,而要使用:
请问,VSCode这里不能折叠,请问这个如何做呢?是需要安装什么插件吗?