Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中读取更少的变量?_Javascript_Reactjs_Less_Webpack 2 - Fatal编程技术网

如何在Javascript中读取更少的变量?

如何在Javascript中读取更少的变量?,javascript,reactjs,less,webpack-2,Javascript,Reactjs,Less,Webpack 2,如何在javascript中读取更少的变量 我正在处理React项目(webpack2、less等),但不是SSR(节点环境),因此我不能使用fs或node glob模块 有些人建议我自己写一个网页加载器:(我不太熟悉这个…我已经用了更少的加载器 javascript 网页包 正如我在评论中提到的,您可以实现自定义加载器 然后 import * as styles from '!!./utils/less-var-loader!./style.less' 双击!!忽略预配置的加载程序。在正常情

如何在javascript中读取更少的变量

我正在处理React项目(webpack2、less等),但不是SSR(节点环境),因此我不能使用
fs
node glob
模块

有些人建议我自己写一个网页加载器:(我不太熟悉这个…我已经用了更少的加载器

javascript 网页包
正如我在评论中提到的,您可以实现自定义加载器

然后

import * as styles from '!!./utils/less-var-loader!./style.less'

双击
!!
忽略预配置的加载程序。

在正常情况下,LESS将在发送到浏览器之前编译为CSS,此时LESS变量不再存在,因此您无法读取它们。实现一个自定义的网页包加载程序,从LESS文件中提取变量。
@import "../../../themes/theme.web.less";

@tint-color: grey;

.nav {
  background-color: @tint-color;
}
config.module.rules.push({
  test: /\.less$/,
  exclude: /node_modules/,
  use: [
    { loader: 'style-loader' },
    {
      loader: 'css-loader',
      options: {
        modules: true,
        importLoaders: 1,
      },
    },
    { loader: 'postcss-loader' },
    { loader: 'less-loader' },
  ],
});
//utils/less-var-loader.js
const lessToJs = require('less-vars-to-js')

module.exports = function(content) {
  return `module.exports = ${JSON.stringify(lessToJs(content))}`
}
import * as styles from '!!./utils/less-var-loader!./style.less'