webpack配置css-loader后,在m浏览器报错 require is not defined

发布于 2022-09-07 00:02:19 字数 1666 浏览 33 评论 0

最近学webpack,都是自己手写配置,没有添油加醋成分

a.css

body {background: red;}

main.js

require('./a.css'); 
function a(){}

package.json

{
  "name": "cssloader",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack-dev-server --open --mode development",
    "build": "webpack -p --mode production"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "css-loader": "^0.28.11",
    "style-loader": "^0.21.0",
    "webpack": "^4.6.0",
    "webpack-cli": "^2.0.14",
    "webpack-dev-server": "^3.1.3"
  }
}

webpack.config.js

module.exports = {
    entry: './main.js',
    output: {
        filename: 'bundle.js'
    },
    module: {
        rules: [
          {
            test: /\.css$/,
            use: [ 'style-loader', 'css-loader' ]
          }
        ]
    }
}

index.html

<html>
    <head>
        <!-- 在这里引入css文件就没有问题  <link rel="stylesheet" href="./a.css"> -->
    </head>
<body>
    <h1>css-loader测试</h1>
    <script src="./main.js"></script>
</body>
</html>

执行npm run dev
终端没有报错,但是浏览器报错了

clipboard.png

clipboard.png
这究竟是为什么。。。。救救我这小白吧~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

回忆那么伤 2022-09-14 00:02:19

你在 index.html 中引入的JS是 main.js。 你把这个修改为 bundle.js 就可以了。
原因:你想想你为什么需要使用webpack把main.js进行打包,是因为你的浏览器是不支持你所写的模块化的方式,所以才需要借助webpack进行模块化处理。

坐在坟头思考人生 2022-09-14 00:02:19

你好像还没有摸清楚webpack打包过程,打包之后就不再是什么main.js了,main只是webpack的入口文件

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文