reactjs - 如何在 package.json 中为自定义本地 npm 模块设置 VScode 智能感知?
问题描述
过去,我们在使用 React Native 时从本地工作目录导入文件时遇到问题。然后我们从 React Native Github 找到了一种方法:https ://github.com/facebook/react-native/issues/3099#issuecomment-221815006 。
例如,我们有这样的文件夹结构:
src
- core/
- config/
- package.json
- file1.js
- index.js
- package.json
- package-lock.json
我们可以config/
通过以下方式将我们的文件夹声明为自定义 npm 模块config/package.json
:
{
"name": "@config"
}
然后我们可以使用以下命令从任何地方导入 file1:
import { something } from "@config/file1";
但问题是,这样一来,VScode 就失去了自动补全和智能感知导入路径的能力import from "@somewhere"
,并且 VScode 无法检测到上述导入变量的实际something
内容file1
那么有没有办法配置我们的 React Native 项目,让 VScode 可以智能感知和检测这种自定义导入?
解决方案
声明一个与 index.js 文件处于同一级别的jsconfig.json文件。在路径对象中声明所有自定义模块。
我用于我的一个项目的配置文件:
{
"compilerOptions": {
"target": "es6",
"baseUrl": "./",
"paths": {
"@assets/*": [
"./src/assets/*"
],
"@config/*": [
"./src/config/*"
],
"@screens/*": [
"./src/screens/*"
],
"@library/*": [
"./src/library/*"
],
}
}
}
推荐阅读
- f# - F# Concat 两个元组而不解构
- r - Dplyr:对分组应用条件
- angular - Angular 4中文件的“响应标头”值问题
- java - Thymeleaf 应用程序在生产中死锁,卡在 Thymeleaf 代码中
- javascript - 根据从自动完成输入中选择的项目创建一个 html 选择
- javascript - 当我尝试从表单更新时出现白色错误屏幕
- bootstrap-4 - bootstrap v4 中多个输入的不同大小
- visual-studio-code - 在 VS Code 中同时启动多个任务
- javascript - 从承诺返回的价值总是不确定的
- sql-server - 如何通知用户 Azure blob 触发功能成功/失败?