process.env.NODE_ENV 一直是 dev
时间: 2024-01-09 14:19:48 浏览: 212
根据提供的引用内容,process.env.NODE_ENV 的值并不一定一直是 dev。在 Vue 中,NODE_ENV 可以通过 .env 文件或者 .env.[mode] 文件配置。在不同的模式下,process.env.NODE_ENV 的值会被设置为对应的模式,例如在 development 模式下,process.env.NODE_ENV 的值为 development,在 test 模式下,process.env.NODE_ENV 的值为 test,在 production 模式下,process.env.NODE_ENV 的值为 production。因此,process.env.NODE_ENV 的值取决于当前的模式。
相关问题
export default ({ command, mode }) => { 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] } } viteLogo(process.env) const timestamp = Date.parse(new Date()) const optimizeDeps = {} const alias = { '@': path.resolve(__dirname, './src'), 'vue$': 'vue/dist/vue.runtime.esm-bundler.js', } const esbuild = {} const config = { base: './', // index.html文件所在位置 root: './', // js导入的资源路径,src resolve: { alias, }, define: { 'process.env': {} }, server: { // 如果使用docker-compose开发模式,设置为false open: true, port: process.env.VITE_CLI_PORT, proxy: { // 把key的路径代理到target位置 // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api' target: `${process.env.VITE_BASE_PATH}/`, // 代理到 目标路径 changeOrigin: true, rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''), }, [process.env.VITE_BASE_EXPORT_API]: { // 需要代理的路径 例如 '/api' target: `${process.env.VITE_BASE_REPORTAPI}/`, // 代理到 目标路径 changeOrigin: true, rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_EXPORT_API), ''), }, }, }, build: { target: 'es2017', minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser manifest: false, // 是否产出manifest.json sourcemap: false, // 是否产出sourcemap.json outDir: 'dist', // 产出目录 // rollupOptions, }, 使用vite部署时,请帮我修改以上代码,当build打包时,前端页面url新增VITE_PUBLIC_PATH= '/devOnlineStatus/'前缀
export default ({
command,
mode
}) => {
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]
}
}
viteLogo(process.env)
const timestamp = Date.parse(new Date())
const optimizeDeps = {}
const alias = {
'@': path.resolve(__dirname, './src'),
'vue$': 'vue/dist/vue.runtime.esm-bundler.js',
}
const esbuild = {}
const config = {
base: './', // index.html文件所在位置
root: './', // js导入的资源路径,src
resolve: {
alias,
},
define: {
'process.env': {}
},
server: {
// 如果使用docker-compose开发模式,设置为false
open: true,
port: process.env.VITE_CLI_PORT,
proxy: {
// 把key的路径代理到target位置
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api'
target: `${process.env.VITE_BASE_PATH}/`, // 代理到 目标路径
changeOrigin: true,
rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''),
},
[process.env.VITE_BASE_EXPORT_API]: { // 需要代理的路径 例如 '/api'
target: `${process.env.VITE_BASE_REPORTAPI}/`, // 代理到 目标路径
changeOrigin: true,
rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_EXPORT_API), ''),
},
},
},
build: {
target: 'es2017',
minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser
manifest: false, // 是否产出manifest.json
sourcemap: false, // 是否产出sourcemap.json
outDir: 'dist', // 产出目录
// rollupOptions,
},
}
// Add VITE_PUBLIC_PATH to the define object when building
if (command === 'build') {
config.define['process.env.VITE_PUBLIC_PATH'] = "'/devOnlineStatus/'"
}
return config
}
vue.config.js里面怎么打印process.env.VUE_APP_API
在 Vue CLI 中,`vue.config.js` 文件通常用于配置应用程序的一些全局选项,包括环境变量。如果你想在运行时打印 `process.env.VUE_APP_API` 这样的环境变量,你需要确保它已经被设置并且你的项目支持 Node.js 的环境变量处理。
首先,在 `.env` 或者 `.env.[mode]` (如 `.env.dev`, `.env.production`) 文件中定义这个变量,例如:
```
VUE_APP_API=your-api-url
```
然后,在你的 `vue.config.js` 文件里,你可以通过 `config` 对象访问并打印这个变量,如下所示:
```javascript
module.exports = {
configureWebpack: {
plugins: [
new webpack.DefinePlugin({
'process.env': {
VUE_APP_API: JSON.stringify(process.env.VUE_APP_API)
}
})
]
},
// ...
}
// 现在可以在你的源代码里使用
console.log(process.env.VUE_APP_API);
```
在这个配置中,`DefinePlugin` 将环境变量打包成常量,这样在浏览器环境中也能获取到它的值。
阅读全文