{"id":3613,"date":"2016-04-09T18:27:22","date_gmt":"2016-04-09T18:27:22","guid":{"rendered":"http:\/\/www.garysieling.com\/blog\/?p=3613"},"modified":"2016-04-09T18:27:22","modified_gmt":"2016-04-09T18:27:22","slug":"fixing-webpacknode-error-cannot-resolve-module-fs","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/fixing-webpacknode-error-cannot-resolve-module-fs\/","title":{"rendered":"Fixing webpack\/node error: cannot resolve module &#8216;fs&#8217;"},"content":{"rendered":"<p>If you write a React application that does server side rendering, you can get a string of errors if you try to render some server side code on the client. This can occur if you depend on something like the git-rev or git-rev-sync plugins, which require access to the shell.<\/p>\n<p>The way to fix this is to remove the dependency entirely. If you want to inject a value into your Javascript files (e.g. current version number) you can pull it in from JSON file, e.g. &#8220;require(&#8216;.\/version.json&#8217;)&#8221; or have the build script depend on the git tool and inject it&#8217;s output into your Javascript files.<\/p>\n<pre lang=\"bash\">\nERROR in .\/~\/git-rev-sync\/~\/graceful-fs\/graceful-fs.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\graceful-fs\n @ .\/~\/git-rev-sync\/~\/graceful-fs\/graceful-fs.js 1:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/graceful-fs\/fs.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\graceful-fs\n @ .\/~\/git-rev-sync\/~\/graceful-fs\/fs.js 3:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/cd.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/cd.js 1:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/common.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/common.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/ls.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/ls.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/find.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/find.js 1:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/cp.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/cp.js 1:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/rm.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/rm.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/mv.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/mv.js 1:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/mkdir.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/mkdir.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/test.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/test.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/cat.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/cat.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/to.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/to.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/toEnd.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/toEnd.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/sed.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/sed.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/grep.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/grep.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/which.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/which.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/ln.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/ln.js 1:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/exec.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/exec.js 5:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/exec.js\nModule not found: Error: Cannot resolve module 'child_process' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/exec.js 6:12-36\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/chmod.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/chmod.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/touch.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/touch.js 2:9-22\n\nERROR in .\/~\/git-rev-sync\/~\/shelljs\/src\/tempdir.js\nModule not found: Error: Cannot resolve module 'fs' in D:\\projects\\image-annotation\\node_modules\\git-rev-sync\\node_modules\\shelljs\\src\n @ .\/~\/git-rev-sync\/~\/shelljs\/src\/tempdir.js 3:9-22\n\nERROR in (webpack)\/~\/node-libs-browser\/~\/constants-browserify\/constants.json\nModule parse failed: D:\\projects\\image-annotation\\node_modules\\webpack\\node_modules\\node-libs-browser\\node_modules\\constants-browserify\\constants.json Line 2: Unexpected token :\nYou may need an appropriate loader to handle this file type.\n| {\n|   \"O_RDONLY\": 0,\n|   \"O_WRONLY\": 1,\n|   \"O_RDWR\": 2,\n @ .\/~\/git-rev-sync\/~\/graceful-fs\/polyfills.js 2:16-36\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>If you write a React application that does server side rendering, you can get a string of errors if you try to render some server side code on the client. This can occur if you depend on something like the git-rev or git-rev-sync plugins, which require access to the shell. The way to fix this &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.garysieling.com\/blog\/fixing-webpacknode-error-cannot-resolve-module-fs\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Fixing webpack\/node error: cannot resolve module &#8216;fs&#8217;&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[9],"tags":[249,302,387,393,455,592],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/3613"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=3613"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/3613\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=3613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=3613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=3613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}