使用 create-react-app 可以做到process.env.REACT_APP_VERSION
这一点。
Vite中是否有等价物?
如果要使用插件,请参阅Adarsh 的回答
但是自己实现它非常容易。您可以define
在vite.config.js
. 在这里阅读
vite.config.js
export default {
plugins: [vue()],
define: {
'__APP_VERSION__': JSON.stringify(process.env.npm_package_version),
}
}
组件.vue
<template>
<div>{{ version }}</div>
</template>
<script>
export default {
data () {
version: __APP_VERSION__
},
}
</script>
或与<script setup>
<script setup>
const version = __APP_VERSION__
</script>
<template>
<div>{{ version }}</div>
</template>
'__APP_VERSION__'
只要不与 javascript 语法或其他变量冲突,您应该能够进行更改。
如果你不想使用define
,有一个 vite 插件可以做到这一点。
https://www.npmjs.com/package/vite-plugin-package-version
// vite.config.js
import loadVersion from 'vite-plugin-package-version';
export default {
plugins: [loadVersion()],
};
将使用 package.json 中指定的版本注入 import.meta.env.PACKAGE_VERSION。
添加一个define
到你的vite.config.ts
:
import react from '@vitejs/plugin-react';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [react()],
define: {
APP_VERSION: JSON.stringify(process.env.npm_package_version),
},
});
如果您还没有,请定义 aglobal.d.ts
并添加 a declare
:
declare const APP_VERSION: string;
您现在可以APP_VERSION
在代码中的任何地方使用该变量,Vite 将在编译时替换它。
注意:您可能需要重新启动 TS 服务器才能让智能感知获取声明:
VSCode MacOS:⌘</kbd> + ⇧</kbd> + P > Restart TS Server
VSCode 窗口: ctrl+⇧</kbd> + P > Restart TS Server
这对我有用:
import { version } from '../../package.json'