gpt4 book ai didi

webpack - 如何在nuxt中添加流(flowtype)支持?

转载 作者:搜寻专家 更新时间:2023-10-30 22:48:03 24 4
gpt4 key购买 nike

我想给一个nuxt项目添加流支持(我的项目使用了webpack和babel)。我可以在某处找到工作示例吗?

如果我运行 flow check,没有错误,但是当我运行 yarn run dev 时,我得到一个语法错误。

(我知道那里有这些 unanswered questions,我再次提出同样的问题,希望这次它能到达一些对此事有了解的人。)

谢谢

最佳答案

有很多东西需要配置。让我指导您完成这个过程。

TLDR:使用 wemake-vue-template .它带有 nuxtflow 和许多其他好东西。

通天塔

首先,我们需要配置babel。这就是你的 babel 配置应该是这样的:

{
"presets": [
["vue-app", {
"useBuiltIns": true
}],
"flow"
]
}

使用 npm install --save-dev babel-preset-flow babel-preset-vue-app 安装这些礼物。

Eslint

接下来,我们需要配置 eslint 来检查我们的 flow 文件。 .eslintrc 应该是这样的:

{
"root": true,
"plugins": [
"flowtype-errors"
],
"env": {
"node": true,
"browser": true
},
"rules": {
// raise flow errors
"flowtype-errors/show-errors": 2,
"flowtype-errors/show-warnings": 1,
// "flowtype-errors/enforce-min-coverage": [2, 50]
},
"parserOptions": {
"parser": "babel-eslint",
"ecmaVersion": 2017,
"sourceType": "module"
}
}

确保你已经安装了所有的东西。

.流配置

这是最难的部分。您需要为 flow 指定配置。它可能因您的设置而异。

[ignore]
./nuxt/*
<PROJECT_ROOT>/node_modules/.*config-chain/test/broken.json

[include]
<PROJECT_ROOT>/client
<PROJECT_ROOT>/

[libs]

[lints]
all=warn
untyped-import=off
unsafe-getters-setters=off

[options]
include_warnings=true
esproposal.decorators=ignore
module.name_mapper='^~' -> '<PROJECT_ROOT>/client'
module.system.node.resolve_dirname=node_modules
module.system.node.resolve_dirname=client
module.file_ext=.vue
module.file_ext=.js

nuxt.config.js

最后一步。我们需要对每个更改启用 linting。

 build: {
extend (config, { isDev, isClient }) {
if (isDev && isClient) {
config.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/
})
}
}

就是这样。现在您将进行有效的 flow 类型检查。

关于webpack - 如何在nuxt中添加流(flowtype)支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47768727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com