4
votes

I am new to TS and Vue.

Getting following error when trying to do vue-cli-service serve:

This dependency was not found:

  * @store in ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/ts-loader??ref--12-1!./node_modules/vue-loader/lib??vue-loader-opt
ions!./src/components/HelloWorld.vue?vue&type=script&lang=ts&

To install it, you can run: npm install --save @store

And in ./src/components/HelloWorld.vue :

import { RootState, storeBuilder, CustomerStore } from '@store';

And in tsconfig.json :

"baseUrl": "./src",
"paths": {
  "@/*": ["src/*"],
  "store": ["./store/index.ts"], 

However when I change import to following then the error goes away.

import { RootState, storeBuilder, CustomerStore } from './../store';

Do I need any extra config or package? My stack:

- vue 3.0.1
- tsc 3.0.3
2

2 Answers

8
votes
'@store';

should be

'@/store';
1
votes

Ok found solution...and can import via '@store';

Had to edit: vue.config.js and add:

const path = require('path');
const ROOT = path.resolve(__dirname);

function root(args) {
  args = Array.prototype.slice.call(arguments, 0);
  return path.join.apply(path, [ROOT].concat(args));
}

module.exports = {
      configureWebpack: config => {
        config.resolve = {
          extensions: ['.js', '.ts'],
          alias: {
            '@store': root('src/store/index.ts'),
          },
        };
      }
    }