I followed the official document, and "import * as THREE from ‘three’ " works fine, but not the example file. Is there anything that I am missing?
Error
SyntaxError
Unexpected token {
Source Code
<template>
</template>
<script>
import * as THREE from 'three'
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"
export default{
}
</script>
Versions
nuxt 2.0.0
three 0.106.2
Are you sure the syntax error comes from the imports? Does it work if you remove your export default
statement?
It doesn’t work even if I remove export default statement
Can you please demonstrate the issue with a live example? Otherwise consider to share your code as a github repository.
I import three just fine in vue, just as you have it. That does not necessarily show an issue with import. I would try and remove the import and see if that compiles. Or import another lib.
Templates i thought needed a root element.
1 Like
Thanks everyone for your help, I uploaded my code to github↓
Until this part compiles fine import * as THREE from 'three'
I’ve had a look at your project but unfortunately I’m not familiar with Vue and Nuxt. This seems to be no three.js
issue so a post at stackoverflow might be more promising.
hi @ksuhara, I had the same problem and eventually ended up finding a solution that worked for me in Nuxt. I followed the doc and imported like that:
import * as THREE from 'three'
import { TrackballControls } from 'three/examples/jsm/controls/TrackballControls.js'
Then make sure you transpile three in your nuxt.config.js like so:
build: {
transpile: [
'three'
],
}
That should do the trick!
1 Like
Thanks for this answer. I have the same problem and I was going crazy!!