simplify imports in svelte and node.js with path-alias

علی ذوالفقار
1403/11/10 17:22:18 (3)
simplify imports in svelte and node.js with path-alias : 
svelte :
vite.config.js
  resolve: {
    alias: {
      $lib: path.resolve('./src/lib'),
      $stores: path.resolve('./src/stores'),
      $pages: path.resolve('./src/pages'),
      $components: path.resolve('./src/components'),
    }
  }

jsconfig.js 
"baseUrl": ".",
"paths": {
    "$lib/*": ["src/lib/*"],
    "$stores/*": ["src/stores/*"],
    "$pages/*": ["src/pages/*"],
    "$components/*": ["src/components/*"],
    "$assets/*": ["src/assets/*"]
}

instaed of this imports : 
import MyControl from '../../../lib/MyControl.svele'
import toaster from '../../../lib/toaster.js'

use import like this : 
import MyControl from '$lib/MyControl.svele'
import toaster from '$lib/toaster.js'

node.js 
package.json 
"imports": {
    "#lib/*": "./lib/*"
}

import dbl from '#lib/dbl.js'

in node you must use # instead of $ like #lib instead of $lib
       
Back