Bien, actualicé Angular de 6 a 8. Pero sigo teniendo errores.
Encontré en Internet una solución que ayudó a muchos usuarios. Pero en este caso no me ayudó.
Entonces mi archivo package.json se ve así:
{ "name": "vital10-frontend", "version": "0.55.0", "license": "Unlicensed", "scripts": { "ng": "ng", "start": "ng serve", "hmr": "ng serve --configuration hmr", "build": "ng build", "build:prod": "npm run sass:prod && npm run vit10prod", "build:acc": "npm run sass:prod && npm run vit10acc", "build:test": "npm run sass:prod && npm run vit10test", "build:dev": "npm run sass:prod && npm run vit10dev", "test": "ng test", "test:cover": "ng test --code-coverage", "lint": "ng lint", "e2e": "ng e2e", "local": "ng serve -c local", "analyze-bundle": "webpack-bundle-analyzer dist/stats.json", "postinstall": "node patch-webpack.js", "sass:watch": "sass --watch sass:src\\assets", "sass:prod": "sass --update -f --style compressed --sourcemap=none sass:src\\assets", "vit10dev": "ng build --prod -c vit10dev", "vit10test": "ng build --prod -c vit10test", "vit10acc": "ng build --prod -c vit10acc", "vit10prod": "ng build --prod -c production" }, "private": true, "dependencies": { "@angular/animations": "^8.1.2", "@angular/cdk": "^7.3.7", "@angular/common": "^8.1.2", "@angular/compiler": "^8.1.2", "@angular/core": "^8.1.2", "@angular/forms": "^8.1.2", "@angular/http": "^7.2.15", "@angular/platform-browser": "^8.1.2", "@angular/platform-browser-dynamic": "^8.1.2", "@angular/platform-server": "^8.1.2", "@angular/router": "^8.1.2", "@types/chart.js": "^2.7.54", "buffer": "^5.2.1", "chart.js": "^2.7.2", "core-js": "^2.5.7", "events": "^3.0.0", "fs": "0.0.1-security", "jasmine": "^3.1.0", "ng2-charts": "^1.6.0", "ng2-dragula": "^2.1.1", "ng2-pdf-viewer": "^5.0.1", "node-sass": "^4.11.0", "oidc-client": "^1.5.1", "path": "^0.12.7", "pdfjs-dist": "^2.0.489", "rxjs": "^6.5.2", "rxjs-compat": "^6.5.2", "stream": "0.0.2", "timers": "^0.1.1", "web-animations-js": "^2.3.1", "zone.js": "^0.9.1" }, "devDependencies": { "@angular-devkit/build-angular": "^0.801.2", "@angular/cli": "^8.1.2", "@angular/compiler-cli": "^8.1.2", "@angular/language-service": "^8.1.2", "@angularclass/hmr": "^2.1.3", "@compodoc/compodoc": "^1.1.10", "@types/jasmine": "^3.3.14", "@types/node": "^12.6.8", "chai": "^4.1.2", "codelyzer": "^5.1.0", "convert-csv-to-json": "0.0.13", "cucumber": "^4.2.1", "cucumber-html-reporter": "^5.0.0", "cucumber-junit": "^1.7.1", "express-static": "^1.2.5", "jasmine-core": "^3.4.0", "jasmine-reporters": "^2.3.1", "jasmine-spec-reporter": "^4.2.1", "karma": "^4.2.0", "karma-chrome-launcher": "^3.0.0", "karma-cli": "^2.0.0", "karma-coverage-istanbul-reporter": "^1.2.1", "karma-html-reporter": "^0.2.7", "karma-jasmine": "^2.0.1", "karma-jasmine-html-reporter": "^1.4.2", "karma-junit-reporter": "^1.2.0", "karma-teamcity-reporter": "^1.1.0", "moment": "^2.22.1", "prettier": "1.13.4", "protractor": "^5.4.2", "protractor-beautiful-reporter": "^1.2.1", "protractor-cucumber-framework": "^5.0.0", "puppeteer": "^1.14.0", "request": "^2.87.0", "request-promise-native": "^1.0.5", "ts-node": "^3.3.0", "tslint": "^5.18.0", "tslint-angular": "^1.1.2", "typescript": "3.4.5", "webpack-bundle-analyzer": "^3.3.2", "xlsx": "^0.12.13" }, "browser": { "fs": false, "path": false, "os": false, "crypto": false, "stream": false, "http": false, "tls": false, "zlib": false, "https": false, "net": false } } Y mi archivo b tsconfig.json se ve así:
{ "compileOnSave": false, "compilerOptions": { "outDir": "./dist/out-tsc", "baseUrl": "src", "sourceMap": true, "declaration": false, "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, "target": "es5", "typeRoots": [ "node_modules/@types" ], "lib": [ "es2016", "dom" ] }, "angularCompilerOptions": { "enableIvy": false } }Pero sigo recibiendo estos errores:
ERROR in ./node_modules/resolve/lib/async.js Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib' ERROR in ./node_modules/resolve/lib/sync.js Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib' ERROR in ./node_modules/resolve/lib/node-modules-paths.js Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib' ERROR in ./node_modules/tslint/lib/utils.js Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\tslint\lib'Encontré una posible solución, que hay que poner alguna configuración en uno de los node_modules. Pero creo que no es una buena solución. Porque si elimina todas las importaciones y luego vuelve a instalar las importaciones, sus configuraciones desaparecerán.
Gracias
Bien, eliminé el
"fs": "0.0.1-security",Eliminé todos los paquetes (node_modules) e hice una instalación de npm.
Pero ahora me sale esto:
(node:13880) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added. Use emitter.setMaxListeners() to increase limit Binary found at C:\Source\nien\vital10-frontend\node_modules\node-sass\vendor\win32-x64-64\binding.node Testing binary Binary is fine > vital10-frontend@0.55.0 postinstall C:\Source\nien\vital10-frontend > node patch-webpack.js internal/modules/cjs/loader.js:638 throw err; ^ Error: Cannot find module 'C:\Source\nien\vital10-frontend\patch-webpack.js' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) at Function.Module._load (internal/modules/cjs/loader.js:562:25) at Function.Module.runMain (internal/modules/cjs/loader.js:829:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! vital10-frontend@0.55.0 postinstall: `node patch-webpack.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the vital10-frontend@0.55.0 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\nien\AppData\Roaming\npm-cache\_logs\2019-07-23T10_25_46_184Z-debug.log PS C:\Source\nien\vital10-frontend>y mi archivo package.json se ve así ahora:
{ "name": "vital10-frontend", "version": "0.55.0", "license": "Unlicensed", "scripts": { "ng": "ng", "start": "ng serve", "hmr": "ng serve --configuration hmr", "build": "ng build", "build:prod": "npm run sass:prod && npm run vit10prod", "build:acc": "npm run sass:prod && npm run vit10acc", "build:test": "npm run sass:prod && npm run vit10test", "build:dev": "npm run sass:prod && npm run vit10dev", "test": "ng test", "test:cover": "ng test --code-coverage", "lint": "ng lint", "e2e": "ng e2e", "local": "ng serve -c local", "analyze-bundle": "webpack-bundle-analyzer dist/stats.json", "postinstall": "node patch-webpack.js", "sass:watch": "sass --watch sass:src\\assets", "sass:prod": "sass --update -f --style compressed --sourcemap=none sass:src\\assets", "vit10dev": "ng build --prod -c vit10dev", "vit10test": "ng build --prod -c vit10test", "vit10acc": "ng build --prod -c vit10acc", "vit10prod": "ng build --prod -c production" }, "private": true, "dependencies": { "@angular/animations": "^8.1.2", "@angular/cdk": "^7.3.7", "@angular/common": "^8.1.2", "@angular/compiler": "^8.1.2", "@angular/core": "^8.1.2", "@angular/forms": "^8.1.2", "@angular/http": "^7.2.15", "@angular/platform-browser": "^8.1.2", "@angular/platform-browser-dynamic": "^8.1.2", "@angular/platform-server": "^8.1.2", "@angular/router": "^8.1.2", "@types/chart.js": "^2.7.54", "buffer": "^5.2.1", "chart.js": "^2.7.2", "core-js": "^2.5.7", "events": "^3.0.0", "jasmine": "^3.1.0", "ng2-charts": "^1.6.0", "ng2-dragula": "^2.1.1", "ng2-pdf-viewer": "^5.0.1", "node-sass": "^4.11.0", "oidc-client": "^1.5.1", "path": "^0.12.7", "pdfjs-dist": "^2.0.489", "rxjs": "^6.5.2", "rxjs-compat": "^6.5.2", "stream": "0.0.2", "timers": "^0.1.1", "web-animations-js": "^2.3.1", "zone.js": "^0.9.1" }, "devDependencies": { "@angular-devkit/build-angular": "^0.801.2", "@angular/cli": "^8.1.2", "@angular/compiler-cli": "^8.1.2", "@angular/language-service": "^8.1.2", "@angularclass/hmr": "^2.1.3", "@compodoc/compodoc": "^1.1.10", "@types/jasmine": "^3.3.14", "@types/node": "^12.6.8", "chai": "^4.1.2", "codelyzer": "^5.1.0", "convert-csv-to-json": "0.0.13", "cucumber": "^4.2.1", "cucumber-html-reporter": "^5.0.0", "cucumber-junit": "^1.7.1", "express-static": "^1.2.5", "jasmine-core": "^3.4.0", "jasmine-reporters": "^2.3.1", "jasmine-spec-reporter": "^4.2.1", "karma": "^4.2.0", "karma-chrome-launcher": "^3.0.0", "karma-cli": "^2.0.0", "karma-coverage-istanbul-reporter": "^1.2.1", "karma-html-reporter": "^0.2.7", "karma-jasmine": "^2.0.1", "karma-jasmine-html-reporter": "^1.4.2", "karma-junit-reporter": "^1.2.0", "karma-teamcity-reporter": "^1.1.0", "moment": "^2.22.1", "prettier": "1.13.4", "protractor": "^5.4.2", "protractor-beautiful-reporter": "^1.2.1", "protractor-cucumber-framework": "^5.0.0", "puppeteer": "^1.14.0", "request": "^2.87.0", "request-promise-native": "^1.0.5", "ts-node": "^3.3.0", "tslint": "^5.18.0", "tslint-angular": "^1.1.2", "typescript": "3.4.5", "webpack-bundle-analyzer": "^3.3.2", "xlsx": "^0.12.13" }, "browser": { "fs": false, "path": false, "os": false, "crypto": false, "stream": false, "http": false, "tls": false, "zlib": false, "https": false, "net": false } }Todavía obtengo estos errores:
(node:15956) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added. Use emitter.setMaxListeners() to increase limit internal/modules/cjs/loader.js:638 throw err; ^ Error: Cannot find module 'C:\Source\nien\vital10-frontend\patch-webpack.js' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) at Function.Module._load (internal/modules/cjs/loader.js:562:25) at Function.Module.runMain (internal/modules/cjs/loader.js:829:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! vital10-frontend@0.55.0 postinstall: `node patch-webpack.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the vital10-frontend@0.55.0 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\nien\AppData\Roaming\npm-cache\_logs\2019-07-23T10_59_04_891Z-debug.log PS C:\Source\nien\vital10-frontend>Todavía obtengo estos tres errros:
ERROR in ./node_modules/resolve/lib/async.js Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib' ERROR in ./node_modules/resolve/lib/sync.js Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib' ERROR in ./node_modules/tslint/lib/utils.js Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\tslint\lib' i 「wdm」: Failed to compile.¿Puedes intentar estos pasos?
node_modulespackage-lock.json"fs": "0.0.1-security" de package.jsonnpm install --saveSimplemente agregue {node:'empty'} a su archivo webpack.config .
Para mí, la solución fue agregar esto a la configuración del paquete web:
config.node = { fs: 'empty', }Otra solución si usa NuxtJS:
// Build Configuration: https://go.nuxtjs.dev/config-build build: { extend(config, {}) { config.node = { fs: 'empty' } } },Si usa NextJS (no probado, confirme que funciona en los comentarios):
webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => { config.node = { fs: 'empty' } return config },En otros casos, consulte la publicación de Anjana Silva. ¡Una edición de su archivo package.json puede hacer el trabajo!
Estoy usando Nuxt.JS Lo que funcionó para mí fue usar la solución @thisismyname y agregarla a nuxt.config.js, así:
// Build Configuration: https://go.nuxtjs.dev/config-build build: { extend(config, {}) { config.node = { fs: 'empty' } } },Recibí el mismo error, pero se debió a mi error, ya que estoy usando axios para una solicitud de red, pero en algún momento de mi aplicación, escribí redirigir y presioné Intro y la finalización de mi código importó 'importar {redireccionar} de "siguiente/dist/siguiente-servidor/servidor/api-utils";' Eliminar esta línea me permitió continuar con 'siguiente compilación'.
Consulte este enlace como referencia: https://github.com/vercel/next.js/issues/9768
Para Webpack > 5
actualizar webpack.config.js
module.exports = { ... resolve: { fallback: { "fs": false }, } } Para las personas que transpilan para Node.js: agregue target: node al archivo webpack.config.js .
Sé que esta es una pregunta de Angular, pero aquellos que transpilan para Node.js deben tener en cuenta que, de forma predeterminada, Webpack transpila para objetivos de navegador, donde no tiene módulos proporcionados solo por Node.js. Si su entorno en el que ejecutará el código transpilado es Node.js, simplemente márquelo en el archivo de configuración con target: node .
Tengo el mismo problema. Pero después de cambiar el nombre de una carpeta mía de c# a csharp , el problema desapareció.
Para Laravel Mix (^ 4.0), resolví con:
mix.webpackConfig({ "node": { fs: 'empty', } });en webpack.mix.js
Un problema que encontré fue que alguien agregó un node a tsconfig.spec.json .
Eliminar eso resolvió el problema.
{ "compilerOptions": { "types": [ ... "node", // Remove this line ] } }Para aquellos que usan react o next js. ¡Podría suceder debido a una importación automática para json de express!
import { json } from 'express'Por lo tanto, solo asegúrese de que esta línea no se haya importado automáticamente.
su comportamiento del paquete web para la aplicación que no reacciona y debe agregar cualquier retorno de error al objeto externo en la configuración del paquete web. para mí, tanto 'react-native-fs' como 'fs' se han mostrado en los registros de errores. agregue estos y luego reconstruya los elementos externos: { 'react-native-fs': 'reactNativeFs', 'fs': 'reactNativeFs'}
Para NextJS 12 : next.config.js
module.exports = (phase, { defaultConfig }) => { return { ...defaultConfig, webpack: (config) => { config.resolve = { ...config.resolve, fallback: { "fs": false, "path": false, "os": false, } } return config }, } }Para aquellos que están perdidos como yo, simplemente coloque el código a continuación, antes de "scripts",
"browser": { "fs": false, "path": false, "os": false }Agregue un lugar cerca de la parte inferior directamente arriba
devtool: options.devtool ... node: { fs: 'empty' },Esto hará que el paquete web ignore las dependencias de fs.
es decir
resolve: { modules: ['app', 'node_modules'], extensions: [ '.js', '.jsx', '.react.js', ], mainFields: [ 'browser', 'jsnext:main', 'main', ], }, node: { fs: 'empty' }, devtool: options.devtool, target: 'web', // Make web variables accessible to webpack, eg window performance: options.performance || {}, });