Я новичок в 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 в этом примере отлично работают оба способа.