当前位置: 首页 > 知识库问答 >
问题:

如何在js代码(nodejs服务器)中获取SCSS变量?

濮阳翔
2023-03-14

从这个blogpost示例https://til.hashrocket.com/posts/sxbrscjuqu-share-scss-variables-with-javascript中,我试图在js代码中获取scss变量,但没有成功。

index.js文件

import variables from './variables.scss';
console.log(variables);

variables.scss文件

$myvar: 100;

:export {
  myvar: $myvar;
}

webpack.config.js文件

module.exports = {
  mode: 'development',
  module: {
    rules: [{
        test: /\.scss$/,
        use: [{
          loader: "style-loader"
        }, {
          loader: 'css-loader'
        }, {
          loader: 'sass-loader'
        }]
    }]
  }
};
  "dependencies": {
    "css-loader": "^5.0.2",
    "lodash": "^4.17.20",
    "postcss-loader": "^5.0.0",
    "sass": "^1.32.6",
    "sass-loader": "^11.0.1",
    "style-loader": "^2.0.0",
    "webpack": "^5.21.2",
    "webpack-cli": "^4.5.0"
  }
asset main.js 17.2 KiB [compared for emit] (name: main)  
runtime modules 937 bytes 4 modules  
cacheable modules 9.23 KiB  
  modules by path ./src/ 1020 bytes  
    ./src/index.js 324 bytes [built] [code generated]  
    ./src/variables.scss 371 bytes [built] [code generated]  
    ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/variables.scss 325 bytes [built] [code generated]  
  modules by path ./node_modules/ 8.23 KiB  
    ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js 6.67 KiB [built] [code generated]  
    ./node_modules/css-loader/dist/runtime/api.js 1.57 KiB [built] [code generated]  
webpack 5.21.2 compiled successfully in 503 ms

多谢帮忙。

共有1个答案

李博达
2023-03-14

我没有意识到这一点,但也许这只适用于“CSS模块”。如果不将css-loader配置为基于模块,我从未尝试过。(您可以在此答案中的“我的配置”中看到模块已激活)请尝试以下操作:将variables.scss重命名为variables.module.scss,因为默认情况下,css-loader将根据文件名(https://webpack.js.org/loaders/css-loader/#modules)将您的文件视为模块或不视为模块。

 类似资料:
  • 问题内容: 您经常会看到Node的示例hello world代码,该代码创建Http Server,开始侦听端口,然后执行以下操作: 但理想情况下,您希望这样做: 如何在调用前不将服务器号存储在变量中的情况下检索服务器当前正在侦听的端口? 我之前已经看过这件事,但是在Node文档中找不到。也许这是表达的特定内容? 问题答案: Express 4.x答案: Express 4.x(根据下面的Tien

  • 如果我在Docker容器中运行java应用程序,并且我想从相同的java应用程序代码中获取正在运行的Docker容器(我的java应用程序正在其中运行)的名称,那么通过java代码获取容器名称的方法是什么? 请注意,我想在容器内运行的相同java应用程序中拥有java代码。

  • 本文向大家介绍Nodejs如何搭建Web服务器,包括了Nodejs如何搭建Web服务器的使用技巧和注意事项,需要的朋友参考一下 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块、文件系统、url解析模块、路径解析模块、以及301重定向问题,下面我们就简单讲一下如何来搭建一个简

  • nodejs版本:0.8.6 我使用openssl创建了一个ssl csr文件,并使用以下命令:openssl req-nodes-newkey rsa:2048-keyout myserver.key-out myserver.csr null 我试着检查这个问题:openssl s_client-connect my_dns:443//my_dns当然指向我的nodejs服务器 结果:已连接(

  • 我正在使用插件Goup-server-li的负载。 如何停止服务器? 我尝试了server.restart(),server.kill(),server.reset() 但总是有这样的错误: 未捕获错误:在Object.exports处侦听EADDRINUSE 127.0.0.1:35729_导出时出现errnoException(util.js:1022:11)_服务器上的exceptionWi

  • 我试图发送数据类型ArrayBuffer在json到我的服务器使用socket.io如下: 在服务器端,当我在套接字中收到“记录”事件时,我从JSON获取数据,并将其保存在名称文件中,如下所示: 我正在使用require('wav')) 我做错了什么?我不能像这样在插座中发送ArrayBuffer吗。伊奥?