Unable to resolve module string_decoder could not be found
NguyenHuynhHuuTai opened this issue · comments
BUNDLE ./index.js
error: Error: Unable to resolve module string_decoder from C:\ProjectName\node_modules\iconv-lite\encodings\internal.js: string_decoder could not be found within the project or in these directories: node_modules
If you are sure the module exists, try these steps:
- Clear watchman watches: watchman watch-del-all
- Delete node_modules and run yarn install
- Reset Metro's cache: yarn start --reset-cache
- Remove the cache: rm -rf /tmp/metro-*
47 |
48 | // We use node.js internal decoder. Its signature is the same as ours.
49 | var StringDecoder = require('string_decoder').StringDecoder;
| ^
50 |
51 | if (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method.
52 | StringDecoder.prototype.end = function() {};
Try
const stringDecoderParent = require('string_decoder`)
const StringDecoder = stringDecoderParent.StringDecoder
Install the vite node polyfills https://www.npmjs.com/package/vite-plugin-node-polyfills
Update your vite config:
export default defineConfig({
plugins: [
nodePolyfills({
// To add only specific polyfills, add them here. If no option is passed, adds all polyfills
include: ['string_decoder'],
}),
],
})