代码之家  ›  专栏  ›  技术社区  ›  Ricardo Rocha

将css元素查询导入Angular6应用程序

  •  1
  • Ricardo Rocha  · 技术社区  · 6 年前

    我正在尝试安装并使用 css-element-queries library .

    安装时,我使用了以下命令:

    npm i css-element-queries
    

    之后,我试图导入类 ResizeSensor 从这样的图书馆:

    import { ResizeSensor } from 'css-element-queries';
    

    但编译器检索以下错误:

    找不到模块“css element querys”的声明文件。 'c:/prjnet/elevation3/fw/4.00/mainline/framework/development/client/elevationjs/ngcore/node_modules/css element querys/index.js' 隐式具有“any”类型。尝试 npm install @types/css-element-queries 如果存在或添加新声明 (.d.ts)包含“declare module”css元素查询的文件;

    根据错误消息,我尝试运行以下npm命令:

    npm install @types/css-element-queries
    

    但编译器检索到以下错误:

    NPM错误!代码E404 NPM错误!404未找到: @types/css元素查询@latest

    如何导入css元素查询库?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Greg Veres    6 年前

    我不使用angular,但我只是遇到了将resizesensor导入到基于typescript的应用程序中。我不知道css元素查询何时添加resizesensor.d.ts,但它现在是包的一部分。

    但是,该文件不正确。我已经为它在github上提交了一个问题。昨天我做了一些关于如何导入它的调查,最后阅读了关于不同模块类型以及如何在 typescript documentation .

    这使我找到了为resizesensor定义类型文件的正确方法。基本上,从github存储库中取出一个,并将导出行更改为:

    export default ResizeSensor;
    

    export = ResizeSensor;
    

    然后可以将其用作导入:

    import ResizeSensor = require('Libs/css-element-queries/ResizeSensor');
    

    您的css元素查询路径将有所不同,因为在包维护程序修复.d.ts文件之前,您无法从npm中提取它。

    这里是一个 link to the github issue .

        2
  •  0
  •   Michael Gira    6 年前

    虽然还没有打字包,但我可以使用 css-element-queries 使用这些导入的包:

    import * as ElementQueries from 'css-element-queries/src/ElementQueries';
    import * as ResizeSensor from 'css-element-queries/src/ResizeSensor';
    

    atom仍然会给出关于找不到声明文件的信息警告,但它仍然可以工作。希望这有帮助!

    推荐文章