微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有项目引用的打字稿创建了无法解决的依赖关系

如何解决带有项目引用的打字稿创建了无法解决的依赖关系

结构:

cmake_minimum_required(VERSION 3.8)
project(codego)

file(GLOB CODEGO_SOURCES "src/*.cpp")
file(GLOB CODEGO_HEADERS "include/*.h")
file(GLOB CODEGO_UIS "ui/*.ui")
file(GLOB CODEGO_RES "res/*.qrc")

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

set(CMAKE_AUTOUIC_SEARCH_PATHS ui)

add_executable(${PROJECT_NAME} src/main.cpp ${CODEGO_UIS})

target_include_directories(${PROJECT_NAME} PUBLIC include)
target_include_directories(${PROJECT_NAME} PUBLIC ui)
target_include_directories(${PROJECT_NAME} PUBLIC res)

find_package(Qt5Core required)
find_package(Qt5Gui required)
find_package(Qt5Widgets required)
find_package(Qt5Xml required)
find_package(Qt5Svg required)

# Add the include directories for the Qt 5 modules to the compile lines.
include_directories(${Qt5Core_INCLUDE_Dirs}/QtCore)
include_directories(${Qt5Gui_INCLUDE_Dirs}/QtGui)
include_directories(${Qt5Widgets_INCLUDE_Dirs}/QtWidgets)
include_directories(${Qt5Xml_INCLUDE_Dirs}/QtXml)
include_directories(${Qt5Xml_INCLUDE_Dirs}/QtSvg)

# Use the compile deFinitions defined in the Qt 5 modules
add_deFinitions(${Qt5Core_DEFinitioNS})
add_deFinitions(${Qt5Gui_DEFinitioNS})
add_deFinitions(${Qt5Widgets_DEFinitioNS})
add_deFinitions(${Qt5Xml_DEFinitioNS})
add_deFinitions(${Qt5Svg_DEFinitioNS})

qt5_wrap_ui(WRAP_UI_MOC ${CODEGO_UIS})
qt5_wrap_cpp(WRAP_HEADER_MOC ${CODEGO_HEADERS})

include_directories(${PROJECT_SOURCE_DIR})
include_directories(${PROJECT_BINARY_DIR})
include_directories(${CMAKE_BINARY_DIR})

include_directories(include)

add_library(PROJECT_LIBRARIES SHARED
    ${CODEGO_SOURCES}
    ${WRAP_UI_MOC}
    ${WRAP_HEADER_MOC})

target_link_libraries(${PROJECT_NAME} 
                        Qt5::Core 
                        Qt5::Gui
                        Qt5::Widgets
                        Qt5::Xml
                        Qt5::Svg)

target_link_libraries(${PROJECT_NAME} PROJECT_LIBRARIES)

src / module / tsconfig.json(可能是问题所在):

node_modules
└── <node modules here>
src
├── module
│   ├── dist
|   |   ├── foo.d.ts
│   │   └── foo.js
│   ├── foo.ts
│   └── tsconfig.json
└── main
    ├── <.ts files>
    └── tsconfig.json

问题:

{
  "compilerOptions": {
    "sourceMap": true,"module": "commonjs","moduleResolution": "node","importHelpers": true,"downlevelIteration": true,"target": "ES2019","outDir": "./dist/","allowJs": true,"composite": true,"declaration": true,"lib": ["es2016"]
  }
}

src / main / tsconfig.json,以防万一:

tsc --build src/main
src/module/dist/foo.d.ts:1:23 - error TS2688: Cannot find type deFinition file for 'draft-js/node_modules/immutable'.

1 /// <reference types="draft-js/node_modules/immutable" />
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

node_modules中的文件本身显然存在。

tsc --build src / module完成没有错误

在转换为打字稿项目引用之前,一切正常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。