首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack 4:如何从节点模块中提取CSS?

Webpack 4:如何从节点模块中提取CSS?
EN

Stack Overflow用户
提问于 2018-10-22 12:09:38
回答 1查看 497关注 0票数 0

如何将编译好的JS文件中的CSS提取到我自己的application.css中?我想用一个例子详细说明这个问题:

使用Webpack 4,Rails网络包装机和Vue.js,我建立了一个SPA。我添加了外部Vue组件Vue-无限加载。此组件提供了我添加的dist JS文件

application.js

代码语言:javascript
复制
import InfiniteLoading from 'vue-infinite-loading'

这个JS包含CSS和,将样式添加到标记中。我在寻找一种在生产环境中避免这种情况的方法。我想将CSS移动到我自己的application.css文件(由Webpack生成)。

我找到了以下(坏的)解决方案:

外部组件使用的更少,我在项目中不使用。但是,如果我向我的项目添加更少的内容,我可以使用组件的源文件并使用MiniCssExtractPlugin提取样式:

application.js

代码语言:javascript
复制
import InfiniteLoading from 'vue-infinite-loading/src/index'

environment.js

代码语言:javascript
复制
....
const isProduction = process.env.NODE_ENV === 'production'
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
environment.loaders.append('less', {
  test: /\.less$/,
  use: [
    isProduction ? MiniCssExtractPlugin.loader : 'style-loader',
    'css-loader',
    'less-loader'
  ],
})
....

但是,在我的项目中添加更少的内容只是为了从外部组件中提取样式,对我来说似乎是不对的。有更好的办法吗?

是否可以从JS文件中提取样式?

EN

回答 1

Stack Overflow用户

发布于 2018-10-22 12:18:57

不需要添加更少的内容就可以提取css。

代码语言:javascript
复制
const isProduction = process.env.NODE_ENV === 'production'
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
environment.loaders.append('css', {
  test: /\.css$/,
  use: [
    isProduction ? MiniCssExtractPlugin.loader : 'style-loader',
    'css-loader',
  ],
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52929012

复制
相关文章

相似问题

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