reactjs - 您可能需要适当的加载器来处理此文件类型,目前没有配置加载器来处理此文件 - Webpack
问题描述
我现在想将 webpack 用于生产,跟进我创建 webpack.common.js、webpack.dev.js 和 webpack.prod.js 并安装 webpack-merge 的文档:https ://webpack.js.org/guides/production / 一切都很好,直到我决定部署第一次生产 webpack,我遵循了指南,现在编译不正确。我的 webpack.config.js 中有加载器:'babel-loader',因为我根本没有更改该文件.
我在使用脚本时收到以下错误:“startWebpackProd”:“webpack serve --open --config ebpack.dev.js”,
./src/app.js 中的错误 9:16 模块解析失败:意外令牌 (9:16) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。见https://webpack.js.org/concepts#loaders | |
ReactDOM.render(
这是样板戏
, document.getElementById("app"));
包.json
{
"name": "indecision-app",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.13.8",
"@babel/preset-env": "^7.13.9",
"@babel/preset-react": "^7.12.13",
"babel-cli": "6.24.1",
"babel-loader": "8.2.2",
"babel-preset-env": "1.5.2",
"babel-preset-react": "6.24.1",
"css-loader": "^5.1.1",
"live-server": "^1.2.1",
"node-sass": "^5.0.0",
"normalize.css": "^8.0.1",
"react": "17.0.1",
"react-dom": "17.0.1",
"react-modal": "^3.12.1",
"sass-loader": "^11.0.1",
"style-loader": "^2.0.0",
"validator": "13.5.2",
"webpack": "^5.24.4",
"webpack-dev-server": "3.11.2"
},
"scripts": {
"serve": "live-server public/",
"buildWebpack": "webpack",
"startWebpackProd": "webpack serve --open --config webpack.dev.js",
"buldWebpackProd": "webpack --config webpack.prod.js",
"dev-server": "webpack serve"
},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.13.0",
"html-webpack-plugin": "^5.3.1",
"webpack-cli": "^4.5.0",
"webpack-merge": "^5.7.3"
}
}
webpack.config.js
const path = require('path');
console.log(path.join(__dirname, 'public'));
module.exports = {
entry: './src/app.js',
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js' // nazywamy jak chcemy ale ta jest dobra
},
module: {
rules: [{
loader: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/,
},{
test: /\.s?css$/,
use: ['style-loader', 'css-loader', 'sass-loader'],
},
{
// mode: 'development',
}]
},
devtool: 'eval-cheap-module-source-map',
devServer: {
contentBase: path.join(__dirname, 'public'),
}
};
webpack.dev.js
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
module.exports = merge(common, {
mode: 'development',
devtool: 'inline-source-map',
devServer: {
contentBase: './dist',
},
});
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
module.exports = merge(common, {
mode: 'production',
});
webpack.common.js
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: {
app: './src/app.js',
},
plugins: [
new HtmlWebpackPlugin({
title: 'Production',
}),
],
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist'),
clean: true,
},
};
解决方案
推荐阅读
- java - 在 Selenium 中,使用 CRTL + Shift + N 以隐身模式启动浏览器在 Sauce Labs 中不起作用
- powershell - 将文件内容与 Powershell 中的字符串进行比较
- java - 在 Google Data Flow 上的 Spring Boot 项目中运行 Apache Beam 管道
- android - 使用 Query 或使用 Normal Reference 哪个更好 Firebase
- linux - 为什么我需要在安装我的二进制文件后设置 LD_LIBRARY_PATH?
- postgresql - 如何在 postgres 中创建复制功能的路径?
- javascript - SyntaxError:预期的表达式,在 mongoDB 中得到 '}' @(shell):1:0
- prometheus - 有状态集的 RollingUpdate 不会重新启动 pod,并且来自更新的 ConfigMap 的更改不会反映
- javascript - 如何在没有错误的情况下让“npm run configure”工作?
- javascript - 在服务器上反应 getInitialProps req 失败:未捕获的承诺:GET(未找到)