Ярги не работают при использовании импорта в Node.js - PullRequest
0 голосов
/ 07 октября 2019

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

...