4

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 Answers 2

9
'@store';

should be

'@/store';
Sign up to request clarification or add additional context in comments.

2 Comments

thanks, funny as with '@/store' defined in tsconfig.json and import { storeBuilder } from '@/store'; the type checking and linting works. However now getting an error in js console in browser: 'Uncaught ReferenceError: storeBuilder is not defined'. I think there is something with webpack and how it loads modules? Anyway what is the difference between '@store' and '@/store'?
The difference is that the former creates 'srcstore' while the latter creates 'src/store'.
2

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'),
          },
        };
      }
    }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.