ashtuchkin / iconv-lite

Convert character encodings in pure javascript.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  1. Clear watchman watches: watchman watch-del-all
  2. Delete node_modules and run yarn install
  3. Reset Metro's cache: yarn start --reset-cache
  4. 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'],
}),
],
})