I want to be able to use Vue files for both JavaScript and TypeScript, so in the <script>
tag when lang
is not set or set to js
then use ES2015 and when <script lang="ts">
use TypeScript. I have an existing vue+ts project, now we decided that we want to build the app on top of vue-paper-dashboard that is written in ES6. I still want to keep my components in TS and .vue
files with <script lang="ts">
. So started with empty dashboard project and replaced Babel/ESLint with TS/TSLint. Project still loads fine: vue-paper-dashboard-typescript, however, when in any .vue
file I set <script lang="ts">
I get errors like:
Module build failed: Error: Could not find file: 'src/components/Dashboard/Views/Overview.vue'.
I've already set --allowJs
compiler option to true. I also tried changing entry file from main.js
to main.ts
, used entryFileIsJs: true
for ts-loader, to no avail. How can I get vue single file components work in a mixed ES/TS project?
Thanks!
I think I found the fix. For some reason it worked the second time I tried to change the entry point from main.js
to main.ts
and making necessary fixes in the ts file to compile.
I have a working sample here: vue-paper-dashboard-typescript
Update: Creative-Tim is now providing Vue Paper Dashboard 2 Pro (not free) which uses CLI 3 that supports TypeScript. Add TS support to the project with this command: vue add @vue/typescript
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With