html中<script> window.env = { NODE_ENV: '<%= process.env.NODE_ENV %>' }; </script>,但是window.env.NODE_ENV打印出来是'<%= process.env.NODE_ENV %>'
时间: 2023-08-22 22:28:47 浏览: 50
这个问题看起来像是模板引擎没有正确解析变量的问题。在这个代码片段中,"<%=" 和 "%>" 之间的代码应该被模板引擎解析并替换成 "process.env.NODE_ENV" 的值。
如果 "window.env.NODE_ENV" 打印出来的确实是 "<%= process.env.NODE_ENV %>" 而不是变量的值,那么可能是因为模板引擎没有正确解析这个变量。你可以检查一下代码中是否正确引入了模板引擎,并且检查一下模板引擎的语法是否正确。
另外,如果你正在本地开发,可能需要在你的本地环境中设置 "process.env.NODE_ENV" 的值,否则它可能会被解析成空字符串。你可以在命令行中设置环境变量,例如:
```
NODE_ENV=development npm start
```
这将在启动应用程序时将 "NODE_ENV" 设置为 "development"。
相关问题
html中<script> window.env = { NODE_ENV: '<%= process.env.NODE_ENV %>' }; </script>,但是window.env.NODE_ENV查找不到
这个问题看起来像是一个模板引擎的语法问题。在这段代码中,可能使用了某个模板引擎来生成 HTML。在模板引擎中,"<%=" 和 "%>" 之间的代码会被执行并替换为相应的值。因此,这个代码片段的意思是将 "process.env.NODE_ENV" 的值赋给 "window.env.NODE_ENV"。
如果在 HTML 页面中查找 "window.env.NODE_ENV" 时找不到它,那么可能是因为代码中使用了异步加载或者在代码中动态生成了这个变量。你可以尝试在页面加载完成后再查找这个变量,或者在代码中打印出 "window.env.NODE_ENV" 的值来查看它是不是被正确地设置了。
const baseUrl = process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASEURL : './'
这段代码和上一个代码非常相似,只是在条件判断中将设置根目录的值由 '/' 改为了 './'。这里的 './' 表示当前目录,也就是相对于当前 HTML 文件的路径,通常用于前端路由或静态文件的引用。
因此,这段代码的作用是:如果当前环境变量 `NODE_ENV` 的值为 'production',则将 `baseUrl` 的值设置为环境变量 `VUE_APP_BASEURL` 的值;否则将 `baseUrl` 的值设置为相对于当前 HTML 文件的路径。