linux - produccion - ¿Puedo forzar que node.js requiera ser sensible a mayúsculas y minúsculas?
nodejs pdf español (4)
Dado que su sistema de archivos hfs no distingue entre mayúsculas y minúsculas, las búsquedas de ''fileName'' coincidirán con ''filename'' en el nivel de lib de OS, y por lo tanto node.js se comportará de la misma manera. Entonces, por definición, no hay solución.
Pero al precio de un cambio de formato puede cambiar su formato fs para usar hfs mayúsculas y minúsculas.
http://www.coriolis-systems.com/iPartition.php se menciona en este hilo: https://superuser.com/questions/380330/mac-convert-from-case-sensitive-to-case-insensitive-file-system
Dado que mi Mac tiene un sistema de archivos insensible a mayúsculas y minúsculas, los tipados relacionados con el caso no se detectarán al ejecutar pruebas localmente, sin embargo fallan en el servidor de compilación que ejecuta Linux.
Por ejemplo: require(''./mymodule'')
encontrará ./myModule.js
cuando se ejecuta en Lion, pero no en Linux.
Como me gustaría que las pruebas también fallaran localmente para no romper la compilación en el servidor, estoy buscando una manera de hacer que node.js requiera más estricto ya que arroja un error si el nombre del archivo es no es exacto (es decir, tiene una diferencia en la carcasa).
¿Alguien sabe de una manera de lograr esto?
EDITAR :
Como no parecía haber una buena solución para este problema, creé valiquire .
Esta herramienta valida todos los requisitos que se encuentran en un proyecto de nodo completo y también garantiza que la carcasa sea correcta.
Si usa el paquete web, consulte https://github.com/Urthen/case-sensitive-paths-webpack-plugin
Solo lo instalamos para nuestras compilaciones de desarrollo. Nos habría evitado tomar varias sustancias ... lo cual, si estás en esta pregunta, probablemente ya esté sucediendo 😉
Instalar
npm install --save-dev case-sensitive-paths-webpack-plugin
Uso
const CaseSensitivePathsPlugin = require(''case-sensitive-paths-webpack-plugin'');
const webpackConfig = {
plugins: [
new CaseSensitivePathsPlugin(),
// other plugins ...
],
// other webpack config ...
};
Siempre use letras minúsculas para nombres de archivo, luego no tendrá que saber si el sistema de archivos lo admite o no.
Me recuerda cuándo la gente solía usar espacios en las URL.
Sin cambiar la partición de su sistema operativo, puede usar un paquete que detecte automáticamente estos cambios, yo personalmente uso el paquete web 2. Da aviso cuando el archivo se resuelve pero el caso es diferente. No impedirá la compilación en OSX / Windows, pero tendrá una pista. Además, tener un paquete es una gran ventaja en el desarrollo de js hoy en día
La forma no recomendada y recomendable es limitar y forzar un caso determinado o probar la mayoría de los posibles casos posibles, pero puede ser muy feo y generar un rendimiento deficiente sin mencionar el peligro potencial de cargar el archivo incorrecto si hay un caso. archivo renombrado y el archivo anterior no se limpia