Webpack2加载和解压LESS文件

标签 webpack webpack-style-loader

我正在尝试设置 Webpack2 来处理我的 LESS 文件并从中创建一个单独的 CSS。但是我一直收到错误消息。我无法找到概述该过程的 Webpack2 示例,因此不确定我遗漏了什么。

我的 Webpack 配置:

module.exports = {
  entry: {
    'public': [
      './src/client/styles/public.js'
    ]
  },
  output: {
   ...
  },
  module: {
      {
       test: /.*\.less$/,
        loader: ExtractTextPlugin.extract({ loader: 'less-loader', fallbackLoader: 'style-loader' })
      }
    ]

  },
  plugins: [
    new ExtractTextPlugin({ filename: '[name].css', disable: false, allChunks: true })
  ]
}

public.js 文件(我也尝试将 less 文件直接传递给条目,结果相同):

require('style.less')

style.less 文件

a { color: red; }

错误:

ERROR in ./~/less-loader!./src/client/styles/style.less
Module parse failed: /node_modules/less-loader/index.js!/src/client/styles/style.less Unexpected token (1:2)
You may need an appropriate loader to handle this file type.
| a {
|   color: red;
| }

从消息中可以看出,less loader 正在正确传递文件但中断了。我尝试了一个空白文件,但后来我得到:

TypeError: text.forEach is not a function

版本:

"extract-text-webpack-plugin": "^2.0.0-beta.4",
"less": "^2.7.1",
"less-loader": "^2.2.3",
"style-loader": "^0.13.1",
"webpack": "^2.1.0-beta.25",
"webpack-dev-server": "^2.1.0-beta.5",
"yargs": "~3.5.4"

可能是什么问题?

最佳答案

好的..让它工作:

 loader: ExtractTextPlugin.extract({ 
     loader:[ 'css', 'less' ], 
     fallbackLoader: 'style-loader' 
 })

编辑 这是针对 Webpack v2 的 - 感谢@thelastshadow 对 Webpack 4 问题的注释 here .

关于Webpack2加载和解压LESS文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39666983/

相关文章:

将 jsx 文件转换为 tsx 后的 Reactjs "Error: ENOENT: no such file or directory, open.."

javascript - 使用 webpack 在输出目录中保留文件夹结构

javascript - Webpack 上的新手 GET 错误,用于 http 服务器和捆绑

javascript - 使用 webpack 将着色器纯文本导入 JS 脚本

javascript - Webpack 配置不接受配置模式选项

Webpack Mini CSS Extract Plugin - 提取 CSS 有什么意义?

javascript - webpack 加载器和包含

css - 根据使用 Webpack 加载的模块动态加载 CSS - VueJS

css - CSS `~` 中的 `url()` 代字号有什么作用?

css - 带有 webpack style-loader 的 Chrome 扩展找不到样式目标