标签: purifycss

使用React和Webpack删除未使用的css

我正在尝试使用purify-css for WebPack 从我的应用程序中删除未使用的css类.

要构建这个项目我全光照React,scss,WebPackPostCss建立和编译一切.

到目前为止,我能够取得进展,但有一些问题,我不知道为什么,但预期结果不正确.我有一个非常非常基本的设置来测试这些场景,所以这是我的index.html和app.js文件(到目前为止我唯一的文件):

的index.html

<body>
    <nav>
        <a href="">home</a>
    </nav>
    <hr />
    <div id="app"></div>
    <footer class="my-other-heading"></footer>
</body>
Run Code Online (Sandbox Code Playgroud)

app.js

class App extends React.Component {
    render() {
        return (
            <h1 className="my-other-heading">Mamamia!</h1>
        );
    }
}

render(<App />, window.document.getElementById("app"));
Run Code Online (Sandbox Code Playgroud)

在css文件中,我使用的是Normalize.css(带有一堆css classess),只有3个自定义类:

.my-class {
    background-color: #CCDDEE;
}

.my-heading {
    color: red;
}

.my-other-heading {
    color: blue;
}
Run Code Online (Sandbox Code Playgroud)

预期的输出应该只包含这些类:

html, body, nav, a, hr, div, footer, h1, .my-other-heading
Run Code Online (Sandbox Code Playgroud)

但它有一些其他类:

.my-heading, h2, h3, h4, …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack purifycss

11
推荐指数
2
解决办法
3687
查看次数

如何在 Laravel Mix 中使用 PurifyCSS?

我想在Laravel中使用PurifyCSS,但我无法让它工作。

Laravel:5.5.4

NPM:6.0.0

Node.js:8.10

代码

mix.styles([
    'resources/assets/css/panel/a.css',
    'resources/assets/css/panel/b.css',
    'resources/assets/css/panel/c.css',
    'resources/assets/css/panel/d.css',
], 'public/css/panel.css').options({
    purifyCss: {
        purifyOptions: {
            info: true,
            rejected: true,
            minify: true
        },
        paths: ['resources/views/admin-layout.blade.php'],
        verbose: true
    },
});
Run Code Online (Sandbox Code Playgroud)

我在互联网上搜索,但找不到任何东西。我想从所有 Blade 页面中删除未使用的 CSS。即使在此链接上,也没有人给出正确答案。即使 PurifyCSS 是第一个,它也不起作用。

谢谢您的帮助。

laravel laravel-5 laravel-mix purifycss laravel-5.5

5
推荐指数
1
解决办法
2047
查看次数

Angular Service Worker - 在 dist/styles.*.css 上 PurifyCSS 后哈希不匹配

当我使用 Service Worker 构建 Angular 应用程序时,它会创建一个包含每个文件的哈希值的哈希表,以检测应用程序的新版本何时可用。该哈希表位于 ngsw.json 中。

这是哈希值的示例。

有桌子

如果我想使用 PurifyCSS 清理未使用的 css,则 dist/styles.*.css 将更改文件内容及其哈希值,但 ngsw.json 具有旧哈希值。

在这种情况下,Angular Service Worker 将失败,因为存在哈希不匹配。

我怎样才能避免这种情况呢?运行 PurifyCSS 后是否应该在 ngsw.json 中手动更新哈希?是否有某种机制可以自动更新此值,或者可以在 angular-cli 为每个文件生成哈希之前执行 PurifyCSS 吗?

这个问题通常针对对服务工作者缓存的 dist 文件进行的任何类型的修改,因为哈希会改变,因此会出现哈希不匹配。这意味着 Service Worker 将无法工作。

先感谢您。

hash gulp purifycss angular angular-service-worker

4
推荐指数
1
解决办法
1810
查看次数