[Next]文本资源与组件代码分离的方式

可以使用raw-loader将文本(比如.md, .wgsl)单独放在文件内

配置完成后,开发环境下修改文本,引用了文本的组件也会对应更新

下文以配置.md为例

  1. 安装 raw-loader
    npm add raw-loader
    
  2. 配置next.config.ts
    const nextConfig: NextConfig = {
      webpack: (config) => {
        config.module.rules.push({
          test: /\.md$/i,
          use: "raw-loader",
        });
        return config;
      },
    };
    
  3. 找个地方写d.ts
    declare module "*.md" {
      const content: string;
      export default content;
    }
    
  4. 使用文件时正常引用即可
    import foo from "./foo.md";
    console.log(typeof foo); // string
    
Next.js