提问者:小点点

为什么“require”编译而“import”不编译?


我不熟悉typescript/javascriptnode.js,也不熟悉编写在命令行中运行的简单脚本。

我安装了归档程序依赖项,并将从'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');确实编译。现在我想知道进口有什么问题。


共1个答案

匿名用户

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