我尝试使用 webpack-dev-server
为我的个人项目组织一个 webpack 2 模板,并使用 npm 命令运行它,但我收到此错误:
找到配置文件,但未配置条目。
这很奇怪,因为条目已定义并且我测试了解析的路由,这很好,所以这是我的 webpack 配置、运行它的命令以及配置加载器的文件:
webpack.config.dev.js
const path = require('path');
const fs = require('fs');
const configs = require('./dev-wpk-conf');
const HtmlPlugin = require('html-webpack-plugin');
const Dotenv = require('dotenv-webpack');
const webpack = require('webpack');
const dirPath = fs.realpathSync(process.cwd());
const config = {
entry: {
bundle: path.resolve(dirPath, '../src/index.js'),
vendor: configs.vendor
},
output: {
path: path.resolve(dirPath, '../dist'),
filename: '[name].[hash].js'
},
devServer: {
port: 3030
},
module: {
rules: [
configs.jsonLoader,
configs.babelLoader,
configs.imgLoader,
configs.sassLoader
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({ names: ['vendor', 'manifest'] }),
new HtmlPlugin({ template: './src/index.html' }),
new Dotenv()
]
}
dev-wpk-conf.js(加载器):
const vendor = [
'react',
'react-dom',
'react-redux',
'react-router',
'redux',
'redux-form',
'redux-thunk',
'redux-devtools-extension'
];
const jsonLoader = {
test: /\.json$/,
loader: 'json-loader'
};
const babelLoader = {
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
options: {
presets: ['babel-preset-env', 'react']
}
};
const imgLoader = {
test: /\.(jpe?g|png|gif|svg)$/,
use: [
{ loader: 'url-loader', options: { limit: 40000 } },
'image-webpack-loader'
]
};
const sassLoader = {
test: /\.(scss|sass)$/,
use: [
{ loader: 'css-loader' },
{ loader: 'sass-loader' }
],
fallback: 'style-loader'
};
module.exports = {
vendor,
jsonLoader,
babelLoader,
imgLoader,
sassLoader
};
NPM 脚本:
"clean": "rimraf dist",
"serve": "yarn clean && webpack-dev-server --config ./config/webpack.config.dev.js"
文件夹结构:
config/
dev-wpk-conf.js
prod-wpk-conf.js
webpack.config.dev.js
webpack.config.prod.js
node_modules/
...
src/
index.js
// the app code
package.json
.env
//rc files
那么,为什么我会收到此错误?我不是专家,但条目已定义并且解析的路径(再次)是正确的。
有什么提示吗?
最佳答案
您必须在 webpack.config.dev.js 中导出 webpack 配置。
添加此行添加到配置文件的末尾。
module.exports = config;
关于node.js - 找到 Webpack 配置文件但未配置条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44357584/