NextJS Webworker`未定义窗口`
Posted
技术标签:
【中文标题】NextJS Webworker`未定义窗口`【英文标题】:NextJS Webworker `window is not defined` 【发布时间】:2019-10-05 19:11:36 【问题描述】:使用 NextJS 和 next-web-worker
包时出现窗口未定义错误。
require('dotenv').config();
const withPlugins = require('next-compose-plugins');
const withCSS = require('@zeit/next-css');
const withWorkers = require('@zeit/next-workers');
const Dotenv = require('dotenv-webpack');
const webpackConfig = (config) =>
config.plugins = config.plugins || [];
config.target = 'universal';
config.output =
...config.output,
filename: 'bundle.js',
path: path.join(__dirname, 'dist'),
globalObject: '(this || global)',
publicPath: 'http://localhost:3000'
;
config.plugins = [
...config.plugins,
// Read the .env file
new Dotenv(
path: path.join(__dirname, '.env'),
systemvars: true
)
];
return config;
;
module.exports = withPlugins([[withCSS], [withWorkers]], webpackConfig);
建议的解决方法似乎是将 globalObject 设置为 this 或 global 但这不起作用。是否有其他解决方法?
【问题讨论】:
【参考方案1】:我刚刚遇到同样的错误,通过关注the advice here 解决了它:
yarn add @zeit/next-workers@canary
【讨论】:
以上是关于NextJS Webworker`未定义窗口`的主要内容,如果未能解决你的问题,请参考以下文章
NextJS:未捕获的类型错误:无法读取未定义的属性(读取“属性”)
React 和 Next.js 中的窗口未定义错误 [重复]
NextJS:“TypeError:无法读取未定义的属性‘toLowerCase’”
Nextjs:getStaticProps 中未定义的上下文