Akryum / Akryum/vue-cli-plugin-apollo
it does not work in vue cli preset
- Ngôn ngữ chính
- JavaScript
- Star
- 477
- Fork
- 109
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
when i put vue-cli-plugin-apollo in my vue-cli preset. the .vuerc file is:
{
"useTaobaoRegistry": false,
"packageManager": "yarn",
"latestVersion": "4.4.1",
"lastChecked": 1590545595795,
"presets": {
"test": {
"useConfigFiles": true,
"plugins": {
"@vue/cli-plugin-babel": {},
"@vue/cli-plugin-typescript": {
"classComponent": true,
"useTsWithBabel": true
},
"@vue/cli-plugin-router": {
"historyMode": true
},
"@vue/cli-plugin-eslint": {
"config": "base",
"lintOn": [
"save"
]
},
"vue-cli-plugin-apollo":{"addServer":false,
"publishSchema":false,
"addExamples":false,
"addApolloEngine":false}
}
}
}
it cannot modify main.js file.
in plugin's generator, the main.js or main.ts don't exist when plugin run.
solution:
replace the code
```
try {
const tsPath = api.resolve('src/main.ts')
const jsPath = api.resolve('src/main.js')
const tsExists = fs.existsSync(tsPath)
const jsExists = fs.existsSync(jsPath)
if (!tsExists && !jsExists) {
throw new Error('No entry found')
}
const file = tsExists ? 'src/main.ts' : 'src/main.js'
api.injectImports(file, `import { createProvider } from './vue-apollo'`)
api.injectRootOptions(file, `apolloProvider: createProvider(),`)
} catch (e) {
api.exitLog(`Your main file couldn't be modified. You will have to edit the code yourself: https://github.com/Akryum/vue-cli-plugin-apollo#manual-code-changes`, 'warn')
}
```
by
```
try {
api.injectImports(api.entryFile, `import { createProvider } from './vue-apollo'`)
api.injectRootOptions(api.entryFile, `apolloProvider: createProvider(),`)
} catch (e) {
api.exitLog(`Your main file couldn't be modified. You will have to edit the code yourself: https://github.com/Akryum/vue-cli-plugin-apollo#manual-code-changes`, 'warn')
}
```
thx.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.