Javascript Webpack/Node.js Http模块:Http.createServer不是一个函数
我在尝试使用网页包的第一步时偶然发现了这个错误 为了在一个非常基本的层面上重现效果,我设置了这个微型文件夹,如下所示: 节点测试-2Javascript Webpack/Node.js Http模块:Http.createServer不是一个函数,javascript,node.js,webpack,Javascript,Node.js,Webpack,我在尝试使用网页包的第一步时偶然发现了这个错误 为了在一个非常基本的层面上重现效果,我设置了这个微型文件夹,如下所示: 节点测试-2 main.js package.json webpack.config.js 包括以下内容: package.json { "name": "node-test-2", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start":
- main.js
- package.json
- webpack.config.js
package.json
{
"name": "node-test-2",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack && node bundle.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^2.2.0"
}
}
webpack.config.js
var path = require('path');
module.exports = {
entry : './main.js',
output : {
path : path.resolve(__dirname),
filename : 'bundle.js'
}
}
var http = require('http');
console.log("Creating Server");
var server = http.createServer(function(req, res){
console.log('Connection Estabilished!');
res.write('HELLO!');
res.end();
});
console.log("Listening on port " + 8000);
server.listen(8000);
main.js
var path = require('path');
module.exports = {
entry : './main.js',
output : {
path : path.resolve(__dirname),
filename : 'bundle.js'
}
}
var http = require('http');
console.log("Creating Server");
var server = http.createServer(function(req, res){
console.log('Connection Estabilished!');
res.write('HELLO!');
res.end();
});
console.log("Listening on port " + 8000);
server.listen(8000);
现在,如果我只是
node main.js
一切都按预期工作
相反,如果我npm start
,从而提示webpack将bundle.js fle中需要的所有内容打包并运行它,则运行时会显示错误http.createServer不是一个函数
进一步检查表明,bundle.js文件中似乎根本没有声明该函数
我错过了什么?这是webpack实际上不适合的东西吗
更多可能毫无意义的信息:
- 在Windows10上运行
- 使用节点版本6.9和7.10进行测试
- 使用webpack和webpack@beta写作时
默认情况下,Webpack以浏览器环境为目标,http.createServer()
对这些环境没有多大意义
您可以通过将以下内容添加到您的网页配置来更改目标:
entry : './main.js',
target : 'node',
...