Sass Nativescript复合组件

Sass Nativescript复合组件,sass,components,nativescript,Sass,Components,Nativescript,Criei um组件组件估算。SCSS porem ele não aplica o estilo。 尊敬的长官,你是阿奎沃·德·埃斯蒂洛吗 (英译) 我创建了一个具有.SCSS样式的组件,但它没有应用该样式。需要特别的.css样式文件吗 { ..., "devDependencies": { "css-loader": "^3.4.2", "nativescript-dev-webpack": "~1.5.1", "node-sass": "^4.13.1",

Criei um组件组件估算。SCSS porem ele não aplica o estilo。 尊敬的长官,你是阿奎沃·德·埃斯蒂洛吗

(英译)
我创建了一个具有.SCSS样式的组件,但它没有应用该样式。需要特别的.css样式文件吗

{
  ...,
  "devDependencies": {
    "css-loader": "^3.4.2",
    "nativescript-dev-webpack": "~1.5.1",
    "node-sass": "^4.13.1",
    "sass-loader": "^8.0.2",
    "typescript": "~3.5.3",
    "webpack": "^4.42.1"
  },
  ...
}

从“tns核心模块/ui/layouts/stack layout/stack layout”导入{StackLayout};
从“tns核心模块/ui/text-field/text-field”导入{TextField};
从“tns核心模块/ui/Button/Button”导入{Button};
从“~/pages/@shared/utilities/Internationalization”导入{Internationalization}”;
导出类搜索栏{
公共静态共享:搜索栏;
私有静态搜索字段:TextField;
私有静态搜索按钮:按钮;
私有静态搜索清除:按钮;
公共静态加载(args:any){
const innerComponent=args.object作为StackLayout;
const bindingContext={…innerComponent.bindingContext};
SearchBar.searchField=innerComponent.getViewById(“searchField”)作为文本字段;
SearchBar.searchButton=innerComponent.getViewById(“searchButton”)作为按钮;
SearchBar.searchClear=innerComponent.getViewById(“searchClear”)作为按钮;
SearchBar.searchField.on(“textChange”,SearchBar.onTextChangeST);
bindingContext.internationalization=internationalization.singleton().getData();
bindingContext.onSearchSubmit=SearchBar.onSearchSubmit;
bindingContext.onSearchClear=SearchBar.onSearchClear;
innerComponent.bindingContext=bindingContext;
SearchBar.shared=搜索栏;
}
公共静态get-onSearchSubmit():(args:any)=>void{
返回SearchBar.onSearchSubmitST;
}
公共静态get-onSearchClear():(args:any)=>void{
返回SearchBar.onSearchClearST;
}
//辅助方法
私有静态onTextChangeST(args:any){
const text=SearchBar.searchField.text;
const bindingContext=args.object.page.bindingContext;
如果(文本!=“”){
SearchBar.searchClear.visibility=“可见”;
}否则{
SearchBar.searchClear.visibility=“collapse”;
bindingContext.search(“”);
}
}
专用静态onSearchSubmitST(args:any){
const text=SearchBar.searchField.text;
const bindingContext=args.object.page.bindingContext;
如果(args.object.id==“searchButton”){
设置超时(()=>{
SearchBar.searchField.dismissSoftInput();
}, 100);
}    
const result=bindingContext.search(文本);
如果(结果==0){()=>{}
}
专用静态onSearchClearST(参数:任意){
const bindingContext=args.object.page.bindingContext;
SearchBar.searchField.text=“”;
bindingContext.searchClear();
}
}
export const onload=SearchBar.onload;

无需。css我认为您需要在网页中包含您的文件。这是一个向您展示示例的链接:

第二个选项是:如果未完成,则使用tns Migrate将项目迁移到最新版本

第三个选项:您需要使用编译.scss文件:
npm安装--保存开发节点sass sass加载程序 我将向您提供此链接:

如果您尚未看到此链接,可以尝试此链接

您的XML中有什么?所有文件名都是相同的,但扩展名不同(XML、JS/TS、SCSS)?是的:search-bar.TS、search-bar.SCSS和search-bar.XML您能告诉我们您的webpack.config.JS中有什么吗?看起来不错(您可以将它粘贴到OP中)。我必须要求提供一个可以重现问题的示例项目。我认为您必须尝试以下命令:npm install--save dev node sass sass loaderI我已经这样做了,我已经安装了所有依赖项并配置了网页包。对于页面,样式会正确地应用组件中的问题。当前TNS版本:6.5.0我想我已经告诉你了我所知道的一切。祝你好运
.container-search {
  margin: 8;
  padding: 0 5;
  border-radius: 30;     
  background-color: white;

  textField {
    border-width: 1;
    border-color: transparent;
    font-size: 14;
    margin: 0;
    color: #333;
  }
  button {
    width: 35;
    height: 35;
    padding: 0;
    margin: 0;
    color: #999;
    border-radius: 100%;
    background-color: #fff;
    font-size: 16;
    font-weight: 700;
  }
}