Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/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
如何在PHP中使用CSSModules(非SPA)_Php_Webpack_Postcss_Css Modules - Fatal编程技术网

如何在PHP中使用CSSModules(非SPA)

如何在PHP中使用CSSModules(非SPA),php,webpack,postcss,css-modules,Php,Webpack,Postcss,Css Modules,所以我想在一个普通的PHP项目中使用CSSModules的好处(更具体地说,这是一个wordpress主题)。我正在使用webpack和autoprefixer、browsersync、PostCs等工具,在开发过程中编译并重新加载项目的部分内容。我知道还有一个名为postss的插件,我想使用它 插件正在向我所有的css类添加哈希,并输出一个带有映射的json,正如预期的那样。现在,我想将一个css模块(这是一个未编译的scss文件)绑定到每个php文件(就像在React中使用css模块一样)。

所以我想在一个普通的PHP项目中使用CSSModules的好处(更具体地说,这是一个wordpress主题)。我正在使用webpack和autoprefixer、browsersync、PostCs等工具,在开发过程中编译并重新加载项目的部分内容。我知道还有一个名为postss的插件,我想使用它

插件正在向我所有的css类添加哈希,并输出一个带有映射的json,正如预期的那样。现在,我想将一个css模块(这是一个未编译的scss文件)绑定到每个php文件(就像在React中使用css模块一样)。我该怎么做?我仍然希望css在编译后保存在一个大文件中

这是我的网页包配置的一部分:

  {
    test: /\.(scss|css)$/,
    use: extractSass.extract({
      use: [{
        loader: "css-loader"
      },
      {
        loader: 'postcss-loader',
        options: {
          plugins: function () {
            return [
              require('precss'),
              require('autoprefixer'),
              require('cssnano'),
              require('postcss-modules')
            ];
          }
        }
      },
      {
        loader: "sass-loader"
      }],
      fallback: "style-loader"
    })
  },
我正在使用main.js和style.scss作为Web包的入口点。然后,style.scss将导入所有部分scss文件(每个文件应为一个css模块)

我做了一个关于如何做这一切的讨论。唯一的区别是我使用grunt PostCs而不是Webpack来处理PostCs插件和功能。应该可以直接将概念移植到Webpack


关键是配置POSTSS模块以将单独的pcss文件作为模块处理。这样,您就可以对每个模块分别解析JSON。使用GlobalModulePath,您可以保持主PCS完整,并将模块附加到其中

链接到一个潜在的解决方案总是受欢迎的,但是到目前为止,您在这里提出的内容实际上是最低限度的,这可能被认为是一个答案。因此,看到一些人投票反对这个答案,我不会感到惊讶。虽然我理解你已经存在的评论只是相似的,而不是OP所要求的,但总比现在更充实一些更好。事实上,这更像是一个评论而不是一个答案,但它肯定会成为一个答案。这里的人们对用户链接到(推广)他们自己的网站非常敏感。如果你要链接到你自己的网站,你应该读:和。可以很好地链接到您自己的站点。只是要知道,如果你,即使是错误的,最终没有遵循上面链接中的内容,人们可能会因此而攻击你。祝你好运。谢谢你的反馈。我本想发表评论而不是回答,不幸的是,我没有足够的代表这么做。老实说,我只是想帮忙。如果其他人有更好的答案,请投我的一票。在此之前,我真的希望这能帮助人们找到一个可行的解决方案。我找不到答案,所以我做了一个。