当前位置: 首页 > 面试题库 >

如何使用webpack从node_modules加载静态CSS文件的示例?

濮宇定
2023-03-14
问题内容

我不知道如何使用webpack从node_modules库中加载任何CSS,例如,我已经安装了传单,每次加载尝试均leaflet/dist/leaflet.css失败。

您能否提供示例如何从node_modules加载静态样式?

我当前的webpack配置如下。另外,我正在使用extract-text-webpack-pluginsass- loader我的项目scss文件运行良好,我也css-loader可以html" target="_blank">解析静态CSS文件或向其中添加内容stylePathResolves吗?

//require('leaflet/dist/leaflet.css');

var ExtractTextPlugin = require("extract-text-webpack-plugin");
var webpack = require("webpack");
var path = require('path');

var stylePathResolves = (
  'includePaths[]=' + path.resolve('./') + '&' +
  'includePaths[]=' + path.resolve('./node_modules')
)

module.exports = {
  entry: ".js/app.js",
  output: {
    path: "./static/js",
    filename: "app.js"
  },
  module: {
    loaders: [{
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel'
      }, {
        test: /\.scss$/,
        loader: ExtractTextPlugin.extract(
          'style',
          'css' + '!sass?outputStyle=expanded&' + stylePathResolves
        )
      }
    ]
  },
  plugins: [new ExtractTextPlugin("app.css")]
};

在哪里加载leaflet.css,注释掉了require('leaflet/dist/leaflet.css')以下错误:

home/myproj/node_modules/leaflet/dist/leaflet.css:3
.leaflet-map-pane,
^

SyntaxError: Unexpected token .

问题答案:

对于遇到类似问题的用户,我已经采取一些步骤使其正常运行,但我不确定这种平衡方式。

  1. npm install file-loader --save
  2. import 'leaflet/dist/leaflet.css';在主app.js中添加
  3. 通过以下方式更改webpack.config.js:

添加css-loader以摆脱,SyntaxError: Unexpected token .然后添加file- loader并匹配文件以摆脱Uncaught Error: Cannot find module "./images/layers.png"

module.exports = {
  entry: "./web/static/js/app.js",
  output: {
    path: "./priv/static/js",
    filename: "app.js"
  },
  module: {
    loaders: [{
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel'
    }, {
      test: /\.scss$/,
      loader: ExtractTextPlugin.extract(
        'style',
        'css' + '!sass?outputStyle=expanded&' + stylePathResolves
      )
    }, {
      test: /\.css$/,
      loader: "style-loader!css-loader"
    }, {
      test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot)$/,
      loader: 'file-loader'
    }]
  },
  plugins: [new ExtractTextPlugin("app.css")]
};

刚开始时,我是从一些示例中获得此配置的,但并不是100%清楚为什么我曾经ExtractTextPlugin加载过scss,以及与css-
loader的相关性,也许更一致的是,如果我在这一部分中也使用ExtractTextPlugin,也许有人知道并且可以进行代码审查吗?但是我的解决方案正在工作,我可以进一步工作。



 类似资料:
  • 问题内容: 我的代码在构造后的某个地方: 我尝试了这个: 项目结构 : 题: webpack如何复制到? 问题答案: 您用于请求JSON文件,而这只会在运行时发生。此外,webpack只处理导入的任何内容。您希望它可以处理函数的参数,但是如果webpack这样做,则函数的每个参数都将被视为模块,这会破坏该函数的其他用途。 如果您希望装入程序启动,则可以导入文件。 您还可以导入JSON并直接使用它,

  • 问题内容: 我想保留一个JSON文档来存储一些简单的数据,并且我需要此文档并在调用中使用JSON对象,以便可以使用它。这不是电话。我的意思是应该用于开发,但我确实希望在构建时编译文件,这与API 的实际调用不同,API的内容是动态的。 问题答案: 最简单的方法是为此使用requirejs json插件,这将使您也可以将文件包括在构建中。 https://github.com/millermedei

  • 问题内容: 我正在本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。 以下是settings.py中的相关条目: 在我的views.py中,我请求上下文: 在我的模板中,渲染正确: 变成: 文件实际所在的位置。我还确保所有文件都已收集。 我的urls.py中也包含以下几行: 我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。 问题答案: 请仔

  • 问题内容: 我正在本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。 以下是settings.py中的相关条目: 在我的views.py中,我正在请求上下文: 在我的模板中,渲染正确: 变成: 文件实际所在的位置。我还确保所有文件都已收集。 我的urls.py中也包含以下几行: 我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。 问题答案:

  • 问题内容: 是否可以使用Javascript将CSS样式表导入html页面?如果是这样,怎么办? 附言:JavaScript将托管在我的网站上,但我希望用户能够放入其网站的标签,并且它应该能够将托管在我的服务器上的CSS文件导入当前网页。(css文件和javascript文件都将托管在我的服务器上)。 问题答案: 这是这样做的“老派”方法,希望可以在所有浏览器上使用。从理论上讲,不幸的是,您将使用

  • 我提供了一些静态文件,像图像和字体,没有任何问题。当我尝试对PDF文件做同样的操作时,我得到一个错误。 ./src/views/default/components/footer.js中出错 C:\resurs\repos\frontend\src\views\default\components\footer.js 5:17错误解析导入模块'src/includes/anvandaravtal_