我的应用程序具有以下结构
./
client/
.. some files
server/
server.js
widgets/
.. some files
webpack.conf.js
现在,我希望webpack
完全忽略server/
目录的内容。我知道,webpack正在运行来自server.js
的文件,因为当我自己启动它时 - 我得到了EADDRINUSE。 Webpack运行server.js
文件。
我试过以下
include
exclude
和module.loaders
module.noParse
resolve.root
似乎在webpack重新使用server.js
文件后执行了上述所有操作。因为如果我在例如module.loaders
中放入了无效的参数,并且我在server.js
中输入了语法错误,我首先看到语法错误,然后在webpack中看到无效的参数消息。
这是我的webpack配置
var path = require('path')
console.log(path.resolve(__dirname, 'client'))
module.exports = {
entry: './client/index.jsx',
output: {
publicPath: 'http://localhost:8090/assets'
},
module: {
loaders: [{
noParse: /server/,
test: /\.jsx$/,
loader: 'jsx-loader?insertPragma=React.DOM&harmony'
}, {
test: /\.scss$/,
loader: 'style!css!sass'
}
]
},
resolve: {
root: [
path.resolve(__dirname, 'client')
]
extensions: ['', '.js', '.jsx']
}
}
使用以下命令启动webpack:
webpack-dev-server --progress --colors --port 8090
答案 0 :(得分:3)
如果您在客户端中需要文件,Webpack只会尝试从服务器捆绑文件。并且webpack无法尝试执行您的代码。
所以可能问题根本不在于webpack。我假设你已经在这个端口上运行了服务器。尝试在不同的端口上运行webpack-dev-server。