我是 Node.js 的新手,现在正在学习一些基础知识。我正在尝试使用一些打字稿代码稍后转换为 .js 代码。
我写了这个简单的代码来测试
import * as fs from 'fs'
const argv = require('yargs')
.alias('f', 'filename')
.alias('c', 'content')
.demandOption('filename')
.demandOption('content')
.argv
fs.writeFile(argv.filename, argv.content, (error)=>{
if(error)
throw error
console.log(`File ${argv.filename} saved.`)
})
这很好用。但是当我将行require('yargs')更改为导入时,如下所示:
import * as fs from 'fs'
import * as yargs from 'yargs'
const argv = yargs
.alias('f', 'filename')
.alias('c', 'content')
.demandOption('filename')
.demandOption('content')
.argv
fs.writeFile(argv.filename, argv.content, (error)=>{
if(error)
throw error
console.log(`File ${argv.filename} saved.`)
})
我收到此错误:
Argument of type 'unknown' is not assignable to parameter of type 'string | number | Buffer | URL'.
Type '{}' is missing the following properties from type 'URL': hash, host, hostname, href, and 9 more.ts(2345)
有人知道使用导致此错误的模块/导入有什么区别吗?对于 fs 库,在此示例中两种方式都可以正常工作。