-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vite SSG: The requested module 'react-helmet-async' does not provide an export named 'HelmetProvider' #208
Comments
Same effect here and thanks for providing the ssr.noExternal workaround (which works for me as well). |
Same problem if this gets imported into something being ran through |
Note that this same issue occurs when importing via an ESM file in Node.
The issue is the CJS exports are not statically analyzable: var src_exports = {};
__export(src_exports, {
Helmet: () => Helmet,
HelmetData: () => HelmetData,
HelmetProvider: () => HelmetProvider
});
module.exports = __toCommonJS(src_exports); |
We fixed it by patching diff --git a/package.json b/package.json
index bc9cb36d157e5db2a7614d028a5a59262c8711f6..d9271fd0f0c7489f91ad6ada3fb130a6ddc0a051 100644
--- a/package.json
+++ b/package.json
@@ -3,8 +3,7 @@
"version": "2.0.3",
"description": "Thread-safe Helmet for React 16+ and friends",
"sideEffects": false,
- "main": "./lib/index.js",
- "module": "./lib/index.esm.js",
+ "main": "./lib/index.esm.js",
"typings": "./lib/index.d.ts",
"repository": "http://github.com/staylor/react-helmet-async",
"author": "Scott Taylor <scott.c.taylor@mac.com>",
@@ -12,6 +11,7 @@
"files": [
"lib/"
],
+ "type": "module",
"dependencies": {
"invariant": "^2.2.4",
"react-fast-compare": "^3.2.2", |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm using the SSG approach that the Vite docs link to, which produces an ESNext build that is then reimported for pre-rendering routes. After adding in react-helmet-async, this approach fails with
I tried all the variations of defining the import (
default
,* as
) and none of these had any effect.Workaround
Vite has a ssr.noexternal config, which fixed it for me.
I also played about with react-helment-async's
package.json
locally to point themain
at the esm build this resolved the issue for me. I also separately defined this package as"type": "module"
and specified the"exports"
field and this also worked. So I think there's a referencing config that isn't playing nicely with the vite ssg approach.The vite config is fine for me now so I'm not going to look into this further, but hopefully this issue helps someone else looking in the future.
The text was updated successfully, but these errors were encountered: