Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: ensure define overrides import.meta in build #8892

Merged
merged 2 commits into from
Jul 3, 2022

Conversation

bluwy
Copy link
Member

@bluwy bluwy commented Jul 3, 2022

Description

fix #8865

Additional context

The reason for the code change is explained in #8865 (comment)

In short, define should take precedence over import.meta.env.* when both have the same key.


What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Before submitting the PR, please make sure you do the following

  • Read the Contributing Guidelines.
  • Read the Pull Request Guidelines and follow the Commit Convention.
  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Ideally, include relevant tests that fail without this PR but pass with it.

@bluwy bluwy added the p3-minor-bug An edge case that only affects very specific usage (priority) label Jul 3, 2022
@netlify
Copy link

netlify bot commented Jul 3, 2022

Deploy Preview for vite-docs-main canceled.

Name Link
🔨 Latest commit 836040c
🔍 Latest deploy log https://app.netlify.com/sites/vite-docs-main/deploys/62c1386a2402a30008013b06

patak-dev
patak-dev previously approved these changes Jul 3, 2022
@patak-dev
Copy link
Member

Approved before seeing the failing test, but the change LGTM

@bluwy
Copy link
Member Author

bluwy commented Jul 3, 2022

My bad. It looks like there's a special case in plugin-legacy where define: { 'import.meta.env.LEGACY' }, but this env isn't in the .env file, which I've only tested. So previously import.meta.env. got replaced instead, causing the error. Moving them after define returns to the expect behaviour.

@patak-dev patak-dev merged commit 7d810a9 into vitejs:main Jul 3, 2022
@bluwy bluwy deleted the fix-import-meta-bool branch July 3, 2022 06:54
@caocos
Copy link

caocos commented Jul 4, 2022

Good,thank you! ^_^

If print all envs, can also display types, it's better

console.log(import.meta.env)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p3-minor-bug An edge case that only affects very specific usage (priority)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

import.meta.env 这个环境变量为啥开发模式与生产模式不一样?
3 participants