初始化项目
This commit is contained in:
59
vitePlugin/codeServer/index.js
Normal file
59
vitePlugin/codeServer/index.js
Normal file
@@ -0,0 +1,59 @@
|
||||
const child_process = require('child_process')
|
||||
import * as dotenv from 'dotenv'
|
||||
import * as fs from 'fs'
|
||||
|
||||
const NODE_ENV = process.env.NODE_ENV || 'development'
|
||||
const envFiles = [
|
||||
`.env.${NODE_ENV}`
|
||||
]
|
||||
for (const file of envFiles) {
|
||||
const envConfig = dotenv.parse(fs.readFileSync(file))
|
||||
for (const k in envConfig) {
|
||||
process.env[k] = envConfig[k]
|
||||
}
|
||||
}
|
||||
|
||||
export default function GvaPositionServer() {
|
||||
return {
|
||||
name: 'gva-position-server',
|
||||
apply: 'serve',
|
||||
configureServer(server) {
|
||||
server.middlewares.use((req, res, next) => {
|
||||
if (req._parsedUrl.pathname === '/gvaPositionCode') {
|
||||
const path = req._parsedUrl.query && req._parsedUrl.query.split('=')[1]
|
||||
if (path && path !== 'null') {
|
||||
if (process.env.VITE_EDITOR === 'webstorm') {
|
||||
const linePath = path.split(':')[1]
|
||||
const filePath = path.split(':')[0]
|
||||
const platform = os()
|
||||
if (platform === 'win32') {
|
||||
child_process.exec(`webstorm64.exe --line ${linePath} ${filePath}`)
|
||||
} else {
|
||||
child_process.exec(`webstorm64 --line ${linePath} ${filePath}`)
|
||||
}
|
||||
} else {
|
||||
child_process.exec('code -r -g ' + path)
|
||||
}
|
||||
}
|
||||
}
|
||||
next()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function os() {
|
||||
'use strict'
|
||||
const os = require('os')
|
||||
const platform = os.platform()
|
||||
switch (platform) {
|
||||
case 'darwin':
|
||||
return 'MacOSX'
|
||||
case 'linux':
|
||||
return 'Linux'
|
||||
case 'win32':
|
||||
return 'Windows'
|
||||
default:
|
||||
return '无法确定操作系统!'
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user