node.js - 在 Node.js 中使用 import 时 Yargs 不起作用

标签 node.js typescript yargs

我是 Node.js 的新手,现在正在学习一些基础知识。我正在尝试使用一些 typescript 代码稍后转换为 .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 时,如下所示:
   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 库,在此示例中两种方式都可以正常工作。

最佳答案

我认为 ES6 兼容的导入仍然不受支持,只需要工作。

import yargs from 'yargs'
console.log(yargs.argv)

$ node app.js
undefined

关于node.js - 在 Node.js 中使用 import 时 Yargs 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58272884/

相关文章:

javascript - Node.js websockets 使用 UDP 或 TCP

node.js - 面对这个错误 : TypeError: yargs. 命令不是函数

javascript - 使用 Yargs 执行代码之前要求用户确认

angular - 使用 CKEditor5 修改/捕获按键

javascript - Angular 8 使用 NgRx 从 http 设置状态

angular - 异步管道的混淆行为(Angular)

javascript - 如何使用 Yargs 实现多个子命令?

node.js - 如何处理 Mongoose 文档版本错误

javascript - JISON 中的错误处理

node.js - 如何修复 XMLHttpRequest 已被 CORS 策略阻止