为什么 "require" 编译但 "import" 不编译?

Why does "require" compile but "import" does not?

我是 TypeScript/JavaScriptNode.js 的新手,在命令行中为 运行 编写了一个简单的脚本。

我安装了 archiver 依赖项并将 import archiver from 'archiver'; 添加到我的脚本中。
当我用 tsp -p . 编译脚本时 import 不编译:

error TS7016: Could not find a declaration file for module 'archiver'. <my script path> implicitly has an 'any' type.
Try `npm install @types/archiver` if it exists or add a new declaration (.d.ts) file containing `declare module 'archiver';`

6 import archiver from 'archiver';
                       ~~~~~~~~~~

但是 const archiver = require('archiver'); 编译。现在我想知道导入有什么问题。

您安装了没有类型的 npm 包,即纯 JS 包。如果此软件包支持 Typescript,您将需要 运行 npm install @types/archiver。 JavaScript (ES6/2015) 的标准建议使用 import 而不是 require.