首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack css-loader没有导入CSS

Webpack css-loader没有导入CSS
EN

Stack Overflow用户
提问于 2019-02-02 17:25:25
回答 1查看 3.5K关注 0票数 0

我让服务器通过读取this tutorial来呈现我的create-react-app

现在,我不能在.js文件中导入CSS文件!

尝试使用style-loadercss-loaderextract-text-webpack-pluginmini-css-extract-plugin,尝试调整webpack的配置,但都没有帮助。

无StackOverflow应答有帮助。所以这个问题。?

这是我的package.json

代码语言:javascript
复制
{
  ...
  "scripts": {
    "dev:build-server": "NODE_ENV=development webpack --config webpack.server.js --mode=development -w",
    "dev:start": "nodemon ./server-build/index.js",
    "dev": "npm-run-all --parallel build dev:*",
    "start": "serve --single ./build",
    "client": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "now-build": "react-scripts build && mv build dist",
    "deploy": "npm run build && now ./build -A ../now.json --public --name=kumarabhirup"
  },
  ...
}

这是webpack.server.js

代码语言:javascript
复制
const path = require('path');
const nodeExternals = require('webpack-node-externals');
const webpack = require('webpack')
const ExtractTextPlugin = require('extract-text-webpack-plugin');
// const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {
  entry: './server/index.js',

  target: 'node',

  externals: [nodeExternals()],

  output: {
    path: path.resolve('server-build'),
    filename: 'index.js'
  },

  module: {
    rules: [
      {
        test: /\.js$/,
        use: 'babel-loader'
      },
      {
        test: /\.css$/,
        // use: ['style-loader', MiniCssExtractPlugin.loader, 'css-loader'] NOT WORKED
        use: ExtractTextPlugin.extract('style-loader', 'css-loader') // NOT WORKING
      },
      {
        test: /\.scss$/,
        use: [
            "style-loader",
            "css-loader",
            "sass-loader"
        ]
      }
    ]
  },

  plugins: [
    new webpack.EnvironmentPlugin({...process.env}),
    new ExtractTextPlugin('[name].css') // TRIED THIS TOO
    // new MiniCssExtractPlugin({ TRIED THIS
    //   filename: 'style.css',
    // })
  ]
};

错误它抛给我,当我,import 'react-circular-progressbar/dist/styles.css'

代码语言:javascript
复制
/Users/iqubex/Sites/kumarabhirup/kumarabhirup/node_modules/react-circular-progressbar/dist/styles.css:7
.CircularProgressbar {
^

SyntaxError: Unexpected token .
    at new Script (vm.js:83:7)
    at createScript (vm.js:267:10)
    at Object.runInThisContext (vm.js:319:10)
    at Module._compile (internal/modules/cjs/loader.js:686:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Module.require (internal/modules/cjs/loader.js:659:17)
    at require (internal/modules/cjs/helpers.js:22:18)
[nodemon] app crashed - waiting for file changes before starting...

我所期望的是导入的CSS文件的工作。请帮帮??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-02 19:48:01

@gopigorantala是对的。

将加载器更改为以下其中之一,它应该可以工作:

代码语言:javascript
复制
use: ['style-loader', 'css-loader']

代码语言:javascript
复制
use: [MiniCssExtractPlugin.loader, 'css-loader']

您可能不需要使用ExtractTextPlugin。只需使用MiniCssExtractPlugin即可。会起作用的。

style-loader在运行时使用<style>将样式加载到DOM中,然后MiniCssExtractPlugin将它们提取到一个单独的文件中。所以你不需要同时使用它们。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54491685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档