Escribí una aplicación de reacción e intenté dockerizarla. después de hacer esto, no se compila correctamente, no encuentra el módulo "sass" y este es mi error:
Failed to compile. ./src/index.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-6- 1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5- oneOf-6-3!./node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-6-4!./src/index.scss) Cannot find module 'sass' Require stack: - /app/node_modules/sass-loader/dist/utils.js - /app/node_modules/sass-loader/dist/index.js - /app/node_modules/sass-loader/dist/cjs.js - /app/node_modules/loader-runner/lib/loadLoader.js - /app/node_modules/loader-runner/lib/LoaderRunner.js - /app/node_modules/webpack/lib/NormalModule.js - /app/node_modules/webpack/lib/NormalModuleFactory.js - /app/node_modules/webpack/lib/Compiler.js - /app/node_modules/webpack/lib/webpack.js - /app/node_modules/react-scripts/scripts/start.jsy este es mi dockerfile:
From node:14.16.1-alpine WORKDIR /app ENV PATH /app/node_modules/.bin:$PATH COPY package.json ./ COPY package-lock.json ./ RUN npm install --silent RUN npm install react-scripts@4.0.3 -g --silent COPY . ./ CMD ["npm", "start"]y no tengo docker-compose.
¿alguna solución?
Agrego esta línea a mi archivo docker pero no funciona y me da el mismo error:
RUN npm install -g sassIntenta instalar en tu terminal esto
npm install --save-dev node-sassy reinicie su localhost escribiendo
npm startPresiona Enter en tu aviso
Después de seguir estos pasos, asegúrese de verificar su dependencia.
paquete.json
y encontrar
"devDependencies": { "node-sass": "^tuversión" }
¡Notar! ¡ node-sass está en desuso ahora!
Advertencia: LibSass y Node Sass están en desuso. Si bien continuarán recibiendo versiones de mantenimiento indefinidamente, no hay planes para agregar funciones adicionales o compatibilidad con ninguna función nueva de CSS o Sass. Los proyectos que aún lo usan deben pasar a Dart Sass .
¡En cambio, puede ver que Sass es seguido en el proyecto Dart sass !
¡ React-Scripts ya se movió en esa dirección!
¡El paquete usado ahora es sass ! npm i -g sass o npm i sass --save-dev
Si vas a la página de sass de npm
Este paquete es una distribución de Dart Sass , compilado en JavaScript puro sin código nativo ni dependencias externas. Proporciona un ejecutable sass de línea de comandos y una API de Node.js.
Puede instalar Sass globalmente usando
npm install -g sassque proporcionará acceso al ejecutable de sass . También puede agregarlo a su proyecto usandonpm install --save-dev sass. Esto proporciona el ejecutable, así como una biblioteca .
instalar sass
Globalmente
npm i -g sasso
En la zona
npm i sass --save-dev ¡Personalmente prefiero ir siempre con instalaciones locales! ¡Así que npm install lo agregará automáticamente! ¡A veces también para mantener las versiones por proyecto!
Y
¡La aplicación se compila y se ejecuta después de la instalación!
Si está ejecutando una versión anterior que requiere node-sass!
¡Entonces puedes actualizar a la última versión! ¡Y antes de eso! Es posible que desee eliminar node_modules y package-lock.json .
npm i react-scripts --save Después de eso npm install para instalar nuevamente las dependencias del proyecto.
Y puedes ir a instalar el paso sass
lo soluciono! solo necesita agregar esta línea a su "dockerfile", de modo que cuando construya su imagen acoplable, debería instalar sass automáticamente:
RUN npm install -g sassy en su "paquete.json" agregue esto en las "dependencias" que le dice a programar lo que tenemos en este caso queremos decir que tenemos la versión específica de "sass":
"sass": "version number(example:^5.0.0)"y agregue esto en la parte de "scripts" que le dice al programa cómo trabajar en este caso, creo que le dice que para los archivos "scss" vea ese archivo y reconózcalo y ábralo como un "css":
"scss": "sass --whatch scss -o css"npm cache clear --force npm install sassPara ser claro:
Primero) intente desinstalarlo usando este comando
npm uninstall node-sass
y luego 2º) intente instalar sass
npm install --save-dev sass
esto funcionó para mí cuando tenía problemas para instalar sass en un proyecto usando la aplicación create react