为什么“需要”编译但“导入”没有?

迈克尔

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

我安装了存档器依赖项并添加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 包。您需要运行npm install @types/archiver,前提是此包支持 Typescript。JavaScript 标准 (ES6/2015) 建议使用import而不是require.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么即使我没有显式使用React,也需要导入React语句?

为什么编译器没有生成错误“需要左值”?

为什么编译后没有.o?

为什么这个类没有编译?

为什么在包含使用它的预编译头之前,需要确保gcc的__COUNTER__宏没有扩展?

如果变量没有初始化,为什么这个 C 代码需要这么长时间来编译和执行?

为什么需要导入“ VToolbarItems”?

Java为什么没有“深度”通配符导入?

为什么导入错误:没有名为lightgbm的模块

为什么在导入表中没有memcpy?

为什么我的 RecyclerVIewSwipeDecorator 库没有被导入?

为什么 Pip 没有编译文件而不是轮子?

为什么我的代码没有在 fortran 中编译?

为什么这个XPlot.Plotly代码没有编译>

为什么没有更多的Java软件本机编译?

为什么编译通过时没有警告/错误?

为什么我的Mutex类没有被Webpack编译?

为什么编译器没有给出冲突的错误?

为什么下面的代码编译没有错误?

为什么“ std :: string(blablabla());” 编译没有错误?

为什么编译器没有优化此负载

为什么这个异步方法没有编译错误?

为什么没有范围的枚举的声明会编译?

为什么这没有给出编译错误

为什么这没有给出编译错误?

为什么 webpack 没有正确编译 ts 文件?

为什么Go编译器只需要包含您直接导入的软件包?

为什么filterv的谓词需要没有副作用?

C ++-为什么在没有明显的构造函数匹配时为什么会编译此代码?