在 sapper/svelt 中是否有组件的快捷方式

Col*_*son 4 svelte sapper

在 nuxts/vue 中有一个别名 @ 和 ~ 表示应用程序的根。在 sapper/svelte 中是否有类似于 /very/deep/page/1/2/3/4 这样的深路线中的东西我不必做类似的事情:

import Head from '../../../../../../../../components/Thingy.svelte'
Run Code Online (Sandbox Code Playgroud)

Mar*_*oni 15

如果您正在使用汇总,您可以使用@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') },
      ]
    }),
    // ...
  ],
  // ...
};
Run Code Online (Sandbox Code Playgroud)

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

如果您使用的WebPack相反,你可以使用resolve.alias config属性。例如,旅馆您​​的webpack.config.js

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

module.exports = {
  // ...

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

  // ...
};
Run Code Online (Sandbox Code Playgroud)

  • 这工作得很好,但我可以添加一下,对于 sapper,您需要将别名配置添加到汇总配置的客户端和服务器位。 (5认同)