Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema ao importar fonte ttf no projeto

Olá, tive um problema ao importar uma fonte com formato ttf no meu projeto, estou tentando desnevolver uma landing page em typescript porém ao tentar importar a fonte custom ele me retorna um erro:

Failed to compile ./src/assets/fonts/ITCAvantGardeStd-Bk.ttf Module parse failed: Unexpected character '' (1:0) You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders (Source code omitted for this binary file) This error occurred during the build process and can only be dismissed by fixing the error.

Alugém consegue me ajudar a entender o que posso fazer nesse caso?

1 resposta
solução!

Oi Kelvin, tudo bem?

Vi que você finalizou o curso, que ótimo!

Agradeço por compartilhar o problema que está enfrentando ao importar uma fonte com formato TTF no seu projeto de desenvolvimento de uma landing page em TypeScript. Compreendo que encontrar soluções para esses obstáculos pode ser desafiador, mas estou aqui para te ajudar a entender e resolver essa questão.

O erro que você mencionou indica que houve uma falha ao analisar o arquivo da fonte que você está tentando importar. Além disso, o erro sugere que talvez seja necessário configurar um "loader" apropriado para lidar com esse tipo de arquivo, pois atualmente não há nenhum configurado para processar o arquivo TTF em questão.

Para solucionar esse problema, você precisa fazer algumas configurações adicionais no seu projeto. Acredito que você esteja utilizando o Next.js, então vamos focar nessa abordagem específica.

A primeira etapa é garantir que o arquivo TTF seja tratado corretamente pelo Webpack, que é o bundler usado pelo Next.js. O Webpack usa loaders para processar diferentes tipos de arquivos durante o processo de compilação. No caso das fontes TTF, você precisará configurar um loader para que o Webpack possa entendê-las.

Você pode começar instalando o pacote file-loader no seu projeto. Esse loader será responsável por lidar com os arquivos de fonte TTF. Execute o seguinte comando no diretório do seu projeto para instalá-lo:

npm install file-loader --save-dev

Após a instalação do pacote file-loader, você precisa configurar o Next.js para reconhecer e usar esse loader ao encontrar arquivos TTF. Para fazer isso, você pode criar ou editar o arquivo next.config.js na raiz do seu projeto.

Aqui está um exemplo de configuração básica que você pode adicionar ao seu arquivo next.config.js:

module.exports = {
  webpack: (config, { isServer }) => {
    // Configuração para lidar com arquivos TTF
    config.module.rules.push({
      test: /\.(woff|woff2|eot|ttf|otf)$/,
      use: {
        loader: 'file-loader',
        options: {
          // Nomeie a pasta e o nome do arquivo onde as fontes serão copiadas
          name: '[path][name].[ext]',
          // Configure o diretório de saída para as fontes
          outputPath: 'static/fonts/',
          // Especifique a URL base para as fontes
          publicPath: '/_next/static/fonts/',
        },
      },
    });

    return config;
  },
};

Certifique-se de que o caminho do arquivo TTF esteja correto na sua configuração. No exemplo acima, configurei o diretório de saída para as fontes como static/fonts/ e a URL base como /_next/static/fonts/. Você pode ajustar esses valores de acordo com a estrutura de diretórios do seu projeto.

Após adicionar essa configuração, reinicie o servidor de desenvolvimento do Next.js para que as alterações tenham efeito. Em seguida, tente importar a fonte TTF novamente no seu projeto e verifique se o erro persiste.

Um abraço e bons estudos.