【问题标题】:Cannot find a node_module in TypeScript在 TypeScript 中找不到 node_module
【发布时间】:2016-11-15 21:18:41
【问题描述】:

reselect 包有问题。它在包内有类型,所以如果我理解正确,typeScript 应该自己处理它。但是每当我尝试导入它时,我都会看到(5,32): error TS2307: Cannot find module 'reselect'

代码很简单:

/// <reference path="../../../../node_modules/reselect/src/reselect.d.ts"/>

import { connect } from 'react-redux';
import Actions from '../../redux/actions';
import { createSelector } from 'reselect';
import { MapDispatchToPropsObject } from 'react-redux';

import { SearchCity } from './index';

const mapStateToProps = (state) => ({
  places: state.searchPlaces,
});

const mapDispatchToProps: MapDispatchToPropsObject = {
  search: Actions.searchPlaces.searchPlace,
};

export default connect(mapStateToProps, mapDispatchToProps)(SearchCity);

这里我手动添加了参考,但无论如何它都不起作用。 我将 webpack 与 ts-loader 一起使用。 谢谢!

【问题讨论】:

  • 你的文件tsconfig.json在哪里?
  • @Paleo 放在项目的根目录下。这个文件放在src/scripts/components/search-city/
  • 文件reselect.d.ts是目录search-city的后代吗?

标签: typescript typescript-typings


【解决方案1】:

我遇到了同样的错误,原因是 no-unused-variable tslint 规则,删除后重新选择有效。

经过一番谷歌搜索后,似乎该规则会导致许多不同的问题,因此我建议改用--noUnusedLocals(或"noUnusedLocals": true)打字稿指令。唯一的问题是,如果您在某处有意使用了一些未使用的变量,则必须在此处将 tslint:disable 替换为 // @ts-ignorehttps://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-6.html#suppress-errors-in-ts-files-using--ts-ignore-comments

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-17
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多