Javascript :主机选择器isn';在Angular 5中使用webpack时,t转换为组件实体

Javascript :主机选择器isn';在Angular 5中使用webpack时,t转换为组件实体,javascript,angular,npm,webpack,pseudo-class,Javascript,Angular,Npm,Webpack,Pseudo Class,因此,首先,我在配置webpack的情况下运行angular,并配置了webpack sass加载程序。除了我今天遇到的一件事外,它工作得很好: app.component.ts app.component.scss 输出html为: 修复: 在seed项目上使用了ng eject之后,我得到了下面的webpack规则,它按预期工作([\u nghost-c1]而不是输出css中的:host) 您可以使用ng eject功能弹出网页包文件,而不是设置自己的网页包。那会很好的 顺便说一句,您可以浏

因此,首先,我在配置webpack的情况下运行angular,并配置了webpack sass加载程序。除了我今天遇到的一件事外,它工作得很好:

app.component.ts

app.component.scss

输出html为:

修复:

在seed项目上使用了
ng eject
之后,我得到了下面的webpack规则,它按预期工作(
[\u nghost-c1]
而不是输出css中的
:host


您可以使用
ng eject
功能弹出网页包文件,而不是设置自己的网页包。那会很好的


顺便说一句,您可以浏览该文件,看看它与您的文件有什么不同。

您可以使用
ng eject
功能弹出该网页文件,而不是设置自己的网页。那会很好的


顺便说一句,您可以浏览该文件,看看它与您的文件有什么不同。

实际上,您可以将所有:host CSS选择器替换为其组件的名称。因此,您可以使用
我的组件{}
而不是
:主机{}


试一试

实际上,您可以用组件的名称替换所有:host CSS选择器。因此,您可以使用
我的组件{}
而不是
:主机{}


试一试

您的网页配置中有哪些
加载程序
用于
.scss
文件?您可以添加网页配置文件吗?您的网页配置中有哪些
加载程序
用于
.scss
文件?您可以添加网页配置文件吗?我不能。这是来自的另一个组件公共代码库。嗯,好吧。我现在想不出任何解决办法。至少我知道一个解决方案。我不能。这是来自公共代码库的另一个组件。嗯,好吧。我现在想不出任何解决办法。至少有一个我知道的解决方案。谢谢你的帮助,以前不知道
ng reject
。我已经更新了问题。据我所知,exports loader将
:host
转换为
[\u nghost-c1]
感谢您的帮助,以前不知道
ng reject
。我已经更新了问题。据我所知,导出加载程序将
:host
转换为
[\u nghost-c1]
@Component({
    selector: 'ng-app',
    templateUrl: './app.component.html',
    styleUrls: [
        './app.component.scss'
    ]
})
:host {
    background: #f99d1c;
}
<style type="text/css">
:host { // but should be [_nghost-c0]
  background: #f99d1c; 
}
</style>
        {
            test: /\.scss$/,
            use: [{
                loader: 'to-string-loader'
            }, {
                loader: 'css-loader'
            }, {
                loader: 'sass-loader'
            }]
        }
        {
            'test': /\.scss$|\.sass$/,
            'use': [
                'exports-loader?module.exports.toString()',
                {
                    'loader': 'css-loader',
                    'options': {
                        'sourceMap': false,
                        'importLoaders': 1
                    }
                }, {
                    'loader': 'postcss-loader',
                    'options': {
                        'ident': 'postcss'
                    }
                }, {
                    'loader': 'sass-loader',
                    'options': {
                        'sourceMap': false,
                        'precision': 8,
                        'includePaths': []
                    }
                }
            ]
        },