book list about C

如果你的英文很好, 请阅读英文版; 如果你的英文不好, 更没有理由不阅读英文版.

The C Programming Language

Chinese: C程序设计语言

Author : Brian W. Kernighan and Dennis M. Ritchie(K&R)

Publisher: Prentice Hall; 2nd edition (April 1, 1988)

Detail : bell-labs,google books,wikipedia,amazon,china-pub

Comment: 著名的K&R C, 第一本介绍C语言的经典之作. 必通读, 随时查阅

the c programming language(image from: bell-labs)

C Traps and Pitfalls

Chinese: C陷阱与缺陷

Author : Andrew Koenig

Publisher: Addison-Wesley Professional; 1st edition (January 11, 1989)

c traps and pitfalls(image from: google books)

Expert C Programming: Deep C Secrets

Chinese: C专家编程

Author : Peter van der Linden

Publisher: Prentice Hall; 1st edition (June 24, 1994)

Detail : google books, amazon, online reading

Comment: 作者是曾在Sun公司写编译器的大牛, 功底浑厚.

expert c programming:deep c secrets(image from: Lars Brinkhoff)

C Programming: A Modern Approach

Chinese: C语言程序设计现代方法

Author : K.N. King

Publisher: W. W. Norton & Company; 2nd edition (April 19, 2008)

Comment: 请关注该书中的"参考文献", 每一本都值得读.

C Programming: A Modern Approach(image from: K.N. King's website)

Pointers on C

Chinese: C和指针

Author : Kenneth Reek

Publisher: Addison-Wesley; 1st edition (August 4, 1997)

Pointers on C(image from:amazon)

Practical C Programming

Chinese: 实用C语言编程

Author : Steve Oualline

Publisher: O'Reilly Media; 3rd edition (August 8, 1997)

Numerical Recipes in C

The Joy of C

C: A Reference Manual

References:

C Programming I

<think>嗯,用户遇到了在Vue 2项目中运行`App.vue`时出现的错误提示,特别是关于`@vue/runtime-dom`缺失的问题。首先,我需要理解这个错误的原因。根据错误信息,Vue 2没有JSX类型定义,导致模板类型检查失败。用户可能是在使用TypeScript,并且可能在配置或依赖方面存在问题。 首先,用户可能是在尝试使用Vue 2与TypeScript结合,而Vue 2默认不支持JSX的类型检查,需要额外的包。错误提示建议安装`@vue/runtime-dom`并添加到devDependencies,这可能是因为Vue 2的核心包不包含这些类型定义,需要单独安装。 接下来,我需要考虑用户可能的操作步骤。用户可能在运行某个命令(比如`npm run serve`或`npm run build`)时遇到这个错误。另外,用户可能在项目初始化时没有正确安装所有必要的依赖,或者在升级或修改依赖时出现了问题。 用户的环境是Windows系统,路径中有中文,这可能需要注意编码或路径问题,但主要问题还是依赖缺失。用户之前执行过删除`node_modules`和`package-lock.json`的操作,可能是为了重新安装依赖,但可能没有正确安装所有必要的包。 解决这个问题的步骤应该是安装`@vue/runtime-dom`作为开发依赖。同时,可能需要检查Vue和相关库的版本兼容性。例如,确保`@vue/runtime-dom`的版本与Vue 2的版本匹配。另外,如果用户使用的是Vue CLI创建的项目,可能需要检查TypeScript配置是否正确,或者在`tsconfig.json`中是否有正确的类型引用。 此外,用户可能不清楚为什么需要安装这个包,需要解释清楚这个包的作用,以及如何解决类型检查的问题。如果用户不打算使用JSX,可能需要调整他们的代码或配置来避免这个错误。或者,如果他们确实需要JSX支持,安装正确的依赖是必须的。 还需要考虑用户是否混合使用了Vue 2和Vue 3的包,这可能导致版本冲突。检查`package.json`中的依赖版本是否正确,尤其是`vue`、`@vue/cli-service`以及其他相关插件是否兼容Vue 2。 最后,建议用户清理缓存并重新安装依赖,确保所有包正确安装。如果问题依然存在,可能需要检查TypeScript的配置或寻求进一步的帮助,比如查看Vue 2的官方文档或社区支持。</think>--- ### 错误原因分析 你在 **Vue 2 项目**中运行了 `vue doctor`(Vue 项目健康检查工具),提示以下关键问题: 1. **`@vue/runtime-dom` 缺失**:Vue 2 默认不包含 JSX 类型定义,需要手动安装此包以支持模板类型检查。 2. **类型检查失效**:未安装相关类型定义文件会导致 TypeScript 或 VSCode 的模板类型推断失败。 --- ### 分步解决方案 #### 步骤 1:安装缺失的依赖 在项目根目录下执行以下命令安装 `@vue/runtime-dom`: ```bash npm install @vue/runtime-dom@2.7.14 --save-dev # 或 yarn add @vue/runtime-dom@2.7.14 -D ``` - **版本号 `2.7.14`**:需与项目中 `vue` 的版本严格匹配(假设你当前用的是 Vue 2.7.x)。 检查 `package.json` 中 `vue` 的版本,例如: ```json "dependencies": { "vue": "^2.7.14" # 确保与 @vue/runtime-dom 版本一致 } ``` --- #### 步骤 2:验证类型配置 确保 `tsconfig.json` 中包含 Vue 类型声明路径: ```json { "compilerOptions": { "types": ["@vue/runtime-dom"] } } ``` --- #### 步骤 3:重启开发服务器 重新运行项目以应用更改: ```bash npm run serve # 或 yarn serve ``` --- ### 附加说明 1. **为什么需要 `@vue/runtime-dom`?** - Vue 2 的 JSX 类型定义需通过 `@vue/runtime-dom` 提供(Vue 3 已内置)。 - 若项目未使用 JSX 或 TypeScript,可忽略此警告(但不推荐)。 2. **版本兼容性问题** 如果安装后仍报错,检查依赖版本是否冲突: ```bash npm list vue @vue/runtime-dom # 查看依赖树 ``` 3. **替代方案(非推荐)** 若不想安装此包,可临时禁用类型检查(仅限非生产环境): ```typescript // 在 .vue 文件中添加 // @ts-nocheck ``` --- ### 常见问题排查 | 现象 | 解决方案 | |--------------------|----------------------------------| | 安装后类型仍不生效 | 删除 `node_modules` 和 `package-lock.json`,重新 `npm install` | | 版本冲突 | 手动指定 `vue` 和 `@vue/runtime-dom` 为相同版本(如 `2.6.14`) | | VSCode 未识别类型 | 重启 VSCode 或执行 `VSCode: Restart TS Server` 命令 | --- 如果问题持续,建议提供 `package.json` 内容进一步分析!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值