在sapper / svelt中,有一个指向组件的快捷方式

时间:2019-11-16 15:46:19

标签: svelte sapper

在nuxts / vue中,有一个别名@和〜表示应用程序的根目录。 sapper / svelte中是否有类似/ very / deep / page / 1/2/3/4之类的深层路径中的类似内容,我不必执行以下操作:

import Head from '../../../../../../../../components/Thingy.svelte'

2 个答案:

答案 0 :(得分:4)

如果您使用汇总,则可以使用@rollup/plugin-alias来获取。

例如,在您的rollup.config.js中:

// ...
import alias from '@rollup/plugin-alias';
import path from 'path';
// ...

export default {
  input: 'src/main.js',
  // ...
  plugins: [
    // ...
    alias({
      resolve: ['.jsx', '.js', '.svelte'], // optional, by default this will just look for .js files or folders
      entries: [
        { find: '@', replacement: path.resolve(__dirname, 'src') },
      ]
    }),
    // ...
  ],
  // ...
};

然后@将是您顶层下src目录的别名。

如果您使用的是Webpack,则可以使用resolve.alias config属性。例如,将您的webpack.config.js客栈:

// ...
import path from 'path';
// ...

module.exports = {
  // ...

  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src')
    }
  }

  // ...
};

答案 1 :(得分:1)

您可以将它们放在src/node_modules/components之类的目录中,然后就可以像import Foo from 'components/Foo.svelte'那样导入它们。只要确保该目录未被忽略即可!