TypeError: url.parse is not a function
I run rss-parser in svelekit web this happen
It seems that you have to install the url package
I have encountered the exact problem:
Uncaught (in promise) TypeError: url.parse is not a function
at Parser.parseURL (parser.js:74:24)
at RSSFeedList.vue:16:12
at runtime-core.esm-bundler.js:1552:40
at callWithErrorHandling (runtime-core.esm-bundler.js:202:19)
at callWithAsyncErrorHandling (runtime-core.esm-bundler.js:209:17)
at hook.__weh.hook.__weh (runtime-core.esm-bundler.js:1532:19)
at flushPostFlushCbs (runtime-core.esm-bundler.js:386:32)
at flushJobs (runtime-core.esm-bundler.js:426:5)
This is a vue+vite+ts project in browser environment (not node.js), the ‘parser.parseURL’ function due to some reason is no longer available in the browser environment. I send this Error to chatgpt which just straight telling me that rss-parser is not for browser environment and I have to look for other packages.
@uncle-yi I had the same problem, in a React + TS + Vite project for the browser.
To fix this, instead of doing npm i rss-parser, I did the following:
- Add this to
index.html:<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/rss-parser.min.js"></script> - Usage inside
App.tsx:const parser = new window.RSSParser();
@qadzek My project really cant use online script but thank you anyway.
@qadzek My project really cant use online script but thank you anyway.
You can also store the .js file locally and reference its path in the src attribute.
@qadzek My project really cant use online script but thank you anyway.
You can also store the
.jsfile locally and reference its path in thesrcattribute.
That sounds like a solution.