javascript - 如何获取节点模块 js/json 配置文件的自动完成功能
问题描述
我对此做了一些研究,但只找到了本地项目的IDE特定答案,所以我要在这里问。
获得模块配置文件的一般自动完成功能的最佳方法是什么?
如果您查看像webpack
or之类的流行模块babel
,它们的配置文件(.babelrc、babel.config.js、babel.config.json 等)甚至可能它们在 package.json 中的替代条目都有一些可靠的自动完成功能。
我在里面找到了一个webpackConfig.json
模式文件和webpackConfig.d.ts
文件webpack
,但我不确定如何在私有模块项目中充分利用它们。
因此,请尽可能详细地了解如何执行此操作。
提前致谢。:)
解决方案
这取决于您的编辑器,但通常网络生态系统中的自动完成是使用 TypeScript 完成的。
因此,如果您的编辑器支持 TypeScript 自动补全(我知道 VSCode 支持),您所要做的就是安装类型定义并告诉编辑器配置文件的类型,您将获得自动补全和类型检查.
对于.json
文件,这并不容易,如果有一个 json 模式文件,您有时可以添加"$schema": "path/or/url/to/schema/file"
.
例如对于 webpack,您可以使用"https://raw.githubusercontent.com/webpack/webpack/master/schemas/WebpackOptions.json"
.
虽然,大多数工具都支持json
and js
,所以只需使用js
.
常见配置文件示例:
webpack.config.js
:
/**
* @type {import('webpack').Configuration}
*/
module.exports = {
...
};
npm install --save-dev @types/webpack
或者
/**
* @type {import('webpack/declarations/WebpackOptions').WebpackOptions}
*/
module.exports = {
...
};
无需任何额外安装。
.eslintrc.js
:
/**
* @type {import('eslint').Linter.Config<import('eslint/rules/index').ESLintRules>}
*/
module.exports = {
...
};
npm install --save-dev @types/eslint
babel.config.js
:
/**
* @type {import('@babel/core').TransformOptions}
*/
module.exports = {
...
};
npm install --save-dev @types/babel__core
vue.config.js
:
/**
* @type {import('@vue/cli-service').ProjectOptions}
*/
module.exports = {
...
};
无需安装任何东西,类型随 cli 本身 ( @vue/cli-service
) 一起提供。
如果您需要我没有涵盖的其他文件,请询问,我会添加它。
推荐阅读
- google-chrome-extension - 如何使用 Firefox 扩展将 HTML 和 JS 写入页面?
- wordpress - 如何删除或编辑 WordPress 面包屑?
- c - 如何检查实际时间是否在字符串格式的时间范围之间
- build - Azure 管道构建有时会返回错误
- android - Android 预览工具栏
- oracle - ORA-00900: 无效的 SQL 语句实体框架生成的 sql 脚本
- python - 如何在python的一个类中定义一个串口
- javascript - 刷新时未定义位置道具(ReactJS)
- wordpress - 如何更改 AWS wordpress 站点以使用域名而不是 IP 地址?
- php - '' php 之间匹配短语的正则表达式