我在webpack上关注此tutorial并做出反应。似乎每隔一步我遇到一个错误,因为对npm或节点的反应或反应或< insert js thing>
但这次......我从webpack收到错误或做出反应:
foreach($request_list as $k => $v) {
parse_str(parse_url($v['url'], PHP_URL_QUERY), $params);
$req = Request::create(
parse_url($v['url'], PHP_URL_PATH),
"POST",
$params
);
$context = new RequestContext();
$context->fromRequest($req);
$route = $this->get('router');
$matcher = new UrlMatcher($route->getRouteCollection(), $context);
$dispatcher = new EventDispatcher();
$dispatcher->addSubscriber(new RouterListener($matcher));
$resolver = new ControllerResolver();
$kernel = new HttpKernel($dispatcher, $resolver);
$response = $kernel->handle($req, HttpKernelInterface::SUB_REQUEST);
$res[$k] = $response->getContent();
}
以下是代码:
应用程序/ index.jsx
Uncaught TypeError: Super expression must either be null or a function, not undefined
应用/组件/ App.jsx
import './main.css';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.jsx';
ReactDOM.render(<App />, document.getElementById('app'));
应用/组件/ Note.jsx
import React from 'react';
import Note from './Note.jsx';
export default class App extends React.Component {
render() {
return <Note />;
}
}
我正在使用
提前谢谢。
答案 0 :(得分:1)
我一直在努力解决这个问题。问题在于循环依赖——如果你有一个扩展另一个类的类,但它们都导入了一个相互导入的类,那么超级表达式将简单地解析为未定义。以下是如何触发它的示例:
A.ts
import './C';
class A extends B {
}
B.ts
import './C';
class B {
}
C.ts
import './A';
// Library code here
在这种情况下,类 A 被认为是在扩展 undefined
,因为依赖树变成了循环(因为 C 需要 A 需要 B 需要 C,等等)并且引擎似乎只是“放弃”并将超类构造函数解析为未定义。就我而言,我从 C
移走了我需要的一些功能,以便 B
不再导入它。它打破了循环依赖——它的作用就像一个魅力!
答案 1 :(得分:0)
我认为您需要在app类中定义构造函数:
import React from 'react';
import Note from './Note.jsx';
export default class App extends React.Component {
constructor(props){
super(props);
}
render() {
return <Note />;
}
}
此外,您的Note组件应该与App:
类似地设置import React from 'react';
export default class Note extends React.Component{
constructor(props){
super(props);
}
render() {
return <div>Learn Webpack!</div>
}
}
答案 2 :(得分:0)
如果通过 Terser 插件应用Webpack优化时出现问题,请尝试使用 UglifyJS :
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = function override(config, env) {
config.optimization = {
minimizer: [new UglifyJsPlugin()]
};
return config;
};
对我有用。