尝试过去2天在浏览器中使用require(‘modules’)和webpack,当我在5分钟内在browserify中做同样的事情时……
这是我的webpack.config.js
var webpack = require('webpack');
var path = require('path');
var fs = require('fs');
var nodeModules = {};
fs.readdirSync('node_modules')
.filter(function(x) {
return ['.bin'].indexOf(x) === -1;
})
.forEach(function(mod) {
nodeModules[mod] = 'commonjs ' + mod;
});
module.exports = {
entry: "./main.js",
output: {
filename: "bundle.js"
}
}
但是,无论我做什么,我都会遇到某种错误.目前我得到:
bundle.js:390 Uncaught Error: Cannot find module "net"
当我运行webpack时,它会抛出这些错误:http://pastebin.com/RgFN3uYm
我跟着https://webpack.github.io/docs/tutorials/getting-started/和http://www.pauleveritt.org/articles/pylyglot/webpack/但我仍然遇到这些错误.
我试图用它运行它:webpack ./main.js -o bundle.js但它仍然无效.
怎么解决这个问题?
最佳答案 你应该添加目录来解决,例如
resolve: {
modulesDirectories: ['./app/', './node_modules']
}
更新:
添加json loader
npm install --save-dev json-loader
module: {
loaders: [
{ test: /\.json$/, loader: 'json-loader' }
]
}
此外,fs,net,tls是node.js的库,不适用于浏览器内使用.你应该添加:
node: {
fs: 'empty',
net: 'empty',
tls: 'empty'
}