标签: webpack-style-loader

使用 nextjs 时 CSS 未在生产模式下加载

问题

当构建并开始应用程序的生产构建时,不会加载任何CSS 。检查开发工具,我可以看到大量错误和警告:

控制台中的错误和警告的屏幕截图

可能的罪魁祸首

在开发模式下启动应用程序时,我没有遇到任何这些问题。此外,其他资源(例如图像或字体)也可以正确加载。我们使用scss并在_app.tsx中导入全局样式表,如下所示:

import "../styles/globals.scss";
Run Code Online (Sandbox Code Playgroud)

为了解决另一个库的问题,我们必须设置一个自定义的 webpack 配置:

module.exports = phase => ({
  webpack: (config, { isServer }) => {
    config.module.rules.push({
      test: /\.node$/,
      use: "node-loader"
    });

    config.module.rules.push({
      test: /\.(ts|js)x?$/,
      use: [
        {
          loader: "ts-loader",
          options: {
            transpileOnly: true,
            experimentalWatchApi: true,
            onlyCompileBundledFiles: true
          }
        }
      ],
      include: [path.resolve(__dirname, "node_modules/@private/")],
      exclude: [path.resolve(__dirname, "node_modules/@private/src/styleguide")]
    });

    if (!isServer) {
      config.module.rules.push({
        test: /\.s?[ac]ss$/i,
        use: [
          { loader: "style-loader" },
          { loader: "css-loader" },
          {
            loader: "resolve-url-loader",
            options: { …
Run Code Online (Sandbox Code Playgroud)

css sass webpack webpack-style-loader next.js

6
推荐指数
1
解决办法
1万
查看次数

使用带有UglifyJS插件的WebPack的css-loader时,CSS关键帧动画损坏了

我们在我们的应用程序中使用este.js dev stack,它使用webpack捆绑JS和CSS资产.Webpack 配置webpack.optimize.UglifyJsPlugin在为生产环境构建时使用stylus-loader,以及生产环境的精确加载程序配置.如下:

ExtractTextPlugin.extract(
  'style-loader', 
  'css-loader!stylus-loader'
);
Run Code Online (Sandbox Code Playgroud)

然后我有3个样式文件:

// app/animations.styl
@keyframes arrowBounce
  0%
    transform translateY(-20px)
  50%
    transform translateY(-10px)
  100%
    transform translateY(-20px)

@keyframes fadeIn
  0%
    opacity 0
  50%
    opacity 0
  100%
    opacity 1

// components/component1.styl
@require '../app/animations'

.component1
  &.-animated
    animation arrowBounce 2.5s infinite

// components/component2.styl
@require '../app/animations'

.component2
  &.-visible
    animation fadeIn 2s
Run Code Online (Sandbox Code Playgroud)

在生成构建之后,两个关键帧动画都被重命名为a(可能是一些CSS缩小css-clean),因为你可以推断fadeIn覆盖,arrowBounce因为缩小后名称和优先级相同.

文件components/component1.stylcomponents/component2.styl被包含在他们的阵营组件文件[name].react.jsusing语句:

import 'components/component1.styl'; 
import 'components/component2.styl';
Run Code Online (Sandbox Code Playgroud)

我疯了.尝试了许多不同的解决方案但没有真正有用.

webpack clean-css webpack-style-loader

5
推荐指数
1
解决办法
2512
查看次数

是否可以使用Webpack和sass loader将NODE_ENV参数注入到sass文件中?

我正在尝试将NODE_ENV注入一个sass文件中,因此我可以为dev / prod env提供不同的输出,并拥有一个内部具有类似条件的sass函数: @if (NODE_ENV == 'prod') {}

我的webpack.config看起来像这样:

module: {
    loaders: [{
        test: /\.scss$/,
        loader: "style-loader!raw-loader!sass-loader?includePaths[]=" + path.resolve(__dirname, "./node_modules/compass-mixins/lib")
    }]
}
Run Code Online (Sandbox Code Playgroud)

我尝试将数据参数传递给加载程序,但没有任何效果。将不胜感激!

sass webpack libsass webpack-style-loader sass-loader

5
推荐指数
2
解决办法
1881
查看次数

如何在webpack中将scss预编译为单个css文件?

将React与webpack一起使用.通过一些文章,但大多数建议为每个组件调用单独的scss文件.但我想将所有css预编译为整个应用程序的单个文件,就像我们使用grunt/gulp一样.

在此输入图像描述

css sass reactjs webpack webpack-style-loader

5
推荐指数
1
解决办法
1491
查看次数

使用样式加载器加载一些CSS,并在Webpack 2中加载一些带有to-string-loader的CSS

我正在开发一个Angular 2应用程序,目前正在尝试用Webpack 2构建它(这是我第一次涉足Webpack).

我明白之间的差style-loaderto-string-loader,前者增加了CSS到DOM,后者产生一个字符串数组角为2至经由消耗styles特性.

我的问题是,我可以同时拥有两个吗?换句话说,如果我在文件中有全局样式site.css,那么在不改变组件样式(to-string-loader,css-loader)的行为的情况下,将这些样式与Webpack捆绑在一起的正确方法是什么?

只是要求或导入它们main.ts似乎不足以让Webpack弄清楚要做什么.

css webpack-style-loader webpack-2 angular

5
推荐指数
1
解决办法
2248
查看次数

Webpack Style-loader介质标签,用于打印

我有一个包含css的webpack加载器,我想添加另一个具有media属性的css链接进行打印

<link rel="stylesheet" media="print" href="file.js">
Run Code Online (Sandbox Code Playgroud)

我试图修改样式加载器模块的addStyles.js,并在options对象中添加了media属性,以读取传递给样式加载器的查询参数

    loaders: [
  {
    test: "print.css",
    loaders: [
      'style-loader?media=print', // here i pass the print value to media  in options object
      'css-loader?sourceMap'
    ]
  },
Run Code Online (Sandbox Code Playgroud)

这里的问题是,即使我为单个文件传递了媒体参数,它也会在所有包含的css文件中生成该文件,我该如何避免呢?

在这里您可以找到完整的装载机

  loaders: [
  {
    test: /\.global\.css$/,
    loaders: [
      'style-loader',
      'css-loader?sourceMap'
    ]
  },

  {
    test: /^((?!\.global).)*\.css$/,
    loaders: [
      'style-loader',
      'css-loader?modules&sourceMap&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
    ]
  },

  { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' },
  { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' },
  { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream' },
  { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file' },
  { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml' …
Run Code Online (Sandbox Code Playgroud)

webpack webpack-style-loader

5
推荐指数
0
解决办法
1000
查看次数

Webpack 2-如何停止为CSS和HTML生成.js文件?

我是Webpack(2)的新手,所以请原谅我到目前为止的简单理解。

在网络上的一些教程之后,我整理了工作package.jsonwebpack.babel.config.js文件。

本质上,我试图将SCSS转换为CSS,将Pug转换为HTML,将JS转换为Babel'd JS。

当我运行dist命令时,它会生成文件,但同时还会生成每个.scss.html等的.js文件。希望下面的图像可以说明这一点:

在此处输入图片说明

理想的情况是我后简直是,app.cssindex.htmlapp.js

webpack.babel.config.js

import webpack from 'webpack';
import path from 'path';
import autoprefixer from 'autoprefixer';
import ExtractTextPlugin from 'extract-text-webpack-plugin';
import HtmlWebpackPlugin from 'html-webpack-plugin';

const extractHtml = new ExtractTextPlugin({
  filename: '[name].html'
});

const extractPug = new ExtractTextPlugin({
  filename: '[name].[contenthash].pug'
});

const extractScss = new ExtractTextPlugin({
  filename: '[name].[contenthash].css',
  allChunks: true
});

let config = {
  stats: {
    assets: false,
    colors: …
Run Code Online (Sandbox Code Playgroud)

javascript webpack webpack-style-loader webpack-2

5
推荐指数
1
解决办法
2220
查看次数

媒体查询不适用于CSS / Style loader和Webpack3

我正在为CSS 使用css-loaderstyle-loader但所有媒体查询均无法正常工作。我使用"webpack": "^3.4.1""css-loader": "^0.28.4""style-loader": "^0.18.2"

这是我的Webpack配置:

const ExtractTextPlugin = require('extract-text-webpack-plugin')

rules: [{
  test: /\.css$/,
  use: [{
    loader: 'style-loader'
  }, {
    loader: 'css-loader',
    options: {
      modules: true,
      localIdentName: '[name]-[local]-[hash:base64:6]',
      camelCase: true
    }
  }]
}]
...
plugins: [
  new ExtractTextPlugin({
    filename: 'style.[chunkhash:6].css',
    allChunks: true
  })
]
Run Code Online (Sandbox Code Playgroud)

我的css文件是这样的:

.container{
  position: relative;
  margin: 30px 15px;
  padding: 50px 15px;
  background: #fff;
}
@media (max-width: 768px) {
  .container{
    background: #fbfbfb;
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在这样的React代码中导入此CSS文件:

import …
Run Code Online (Sandbox Code Playgroud)

css reactjs webpack-style-loader css-loader webpack-3

5
推荐指数
1
解决办法
1706
查看次数

窗口未定义( webpack 和 reactJS )

程序运行正常。但是当我将css文件导入到组件中时,我遇到了以下错误。

webpack:///./node_modules/style-loader/lib/addStyles.js?:23
        return window && document && document.all && !window.atob;
        ^

ReferenceError: window is not defined
    at eval (webpack:///./node_modules/style-loader/lib/addStyles.js?:23:2)
    at eval (webpack:///./node_modules/style-loader/lib/addStyles.js?:12:46)
    at module.exports (webpack:///./node_modules/style-loader/lib/addStyles.js?:57:46)
    at eval (webpack:///./public/testStyle.css?:12:134)
    at Object../public/testStyle.css (/media/ehsan/A26877236876F57F/01-MyDriver/myProjects/02-develop/13-news-ssr/build/bundle.js:193:1)
    at __webpack_require__ (/media/ehsan/A26877236876F57F/01-MyDriver/myProjects/02-develop/13-news-ssr/build/bundle.js:23:30)
    at eval (webpack:///./src/client/pages/HomeContainer.js?:31:1)
    at Object../src/client/pages/HomeContainer.js (/media/ehsan/A26877236876F57F/01-MyDriver/myProjects/02-develop/13-news-ssr/build/bundle.js:541:1)
    at __webpack_require__ (/media/ehsan/A26877236876F57F/01-MyDriver/myProjects/02-develop/13-news-ssr/build/bundle.js:23:30)
    at eval (webpack:///./src/client/Routes.js?:17:22)
[nodemon] app crashed - waiting for file changes before starting...
Run Code Online (Sandbox Code Playgroud)

我又遇到了一个问题,在css-loader仓库中提出了这个问题,运行后遇到了这个问题。

该项目共有三个webpack文件,其中之一是webpack.base.js文件,其内容如下:

'use strict';
// const isInProduction = process.env.NODE_ENV === 'production';
module.exports = {
    context: __dirname, …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack webpack-style-loader

5
推荐指数
1
解决办法
5591
查看次数

如何在React SSR(服务器端渲染)中使用样式加载器?

如您所知,我们可以轻松地使用样式加载器将样式添加到我们的react项目中,但是该窗口在服务器端渲染中不可用,那么如何使用样式加载器(或在SSR项目中替代样式加载器)?

当我使用style-loader时,它按预期返回此错误:

 .../public/server.js:866
        return window && document && document.all && !window.atob;
        ^

    ReferenceError: window is not defined
Run Code Online (Sandbox Code Playgroud)

reactjs webpack webpack-style-loader server-side-rendering ssr

5
推荐指数
1
解决办法
4352
查看次数