假设我有一个code.js包含以下 node.js 脚本的文件:
const axios = require('axios')
async function getData(){
const response = await axios.get('https://mypage.com.br')
console.log(response.data)
}
getData()
Run Code Online (Sandbox Code Playgroud)
如果我用它执行它,node code.js它工作得很好...但是,我想将它作为一个模块执行,这样我就可以使用该import语句并将命令用作await顶层。我想在不创建带有package.json文件的项目的情况下完成此任务。我的最终结果会是这样的:
import axios from 'axios'
const response = await axios.get('https://mypage.com.br')
console.log(response.data)
Run Code Online (Sandbox Code Playgroud)
我还没有设法让它与node命令一起工作。--input-type=module我知道我可以使用一个参数。但我尝试运行node --input-type=module code.js并收到以下错误:
SyntaxError: Cannot use import statement outside a module
Run Code Online (Sandbox Code Playgroud)
所以,这意味着它甚至还没有被识别为模块。可以做吗?我可以使用命令node作为模块来执行独立的脚本(await在顶层使用时)吗?
Arn*_*rat 11
从命令行这实际上是不可能的。您只有两个选项来制作文件 ESM。
编辑package.json以具有以下键和值。
{
"type": "module"
}
Run Code Online (Sandbox Code Playgroud)
将文件扩展名从 更改.js为.mjs. m代表模块。
总之,下面的标志无助于将类型更改为模块。
$ node code.js --input-type=module
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13273 次 |
| 最近记录: |