Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

250
Views
Vue 3 warning "tags with side effects" is breaking Production

I've recently upgraded from Vue 2 to Vue 3, and there are a few parts of my app that in development mode give the warning:

[Vue warn]: Template compilation error: Tags with side effect (<script> and <style>) are ignored in client component templates.

In Vue 2, these warnings were just hidden in production. However, in Vue 3, pages with these warnings completely break and the screen goes blank. They run fine in development.

It's not practical for me to remove all of these <script> tags because they are inserted dynamically by my CMS (Shopify).

Is there any way for me to catch these errors in production so they don't take down my site?

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

So far, this is the best solution I've found.

Replace:

<script>
  // JS CODE HERE
</script>

With:

<component :is="'script'">
  // JS Here
</component>

However, I'd prefer a global setting so that I don't have to do this for every plugin. Right now my app feels very brittle in case anyone on my team adds another CMS plugin.

I don't want the app just breaking as soon as it comes across a <script> tag...

about 4 years ago · Juan Pablo Isaza Report

0

it's a bit late but the same thing happened to me and I think I have the solution. At least in my case.

You have to embed the script just before the closing body tag in your index.html. The problem is (I imagine) that you have it inside the main div.

It should look like this:

<body>
  <div id="app">
    
  </div>
  <script src="./main.js"></script>
</body>
about 4 years ago · Juan Pablo Isaza Report

0

In my case, there was a div tag that wasn't closed. so I closed it and that solved the problem.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!