Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Wordpress:从我的主题中的插件导入SCS_Wordpress_Sass_Build - Fatal编程技术网

Wordpress:从我的主题中的插件导入SCS

Wordpress:从我的主题中的插件导入SCS,wordpress,sass,build,Wordpress,Sass,Build,我正在开发一个共享组件的主题和插件。在我的主题中,我有一个scss文件,我想从插件中导入一个main.scss文件。情况就是这样: 插件main.scss @import "slick"; @import "slick_theme"; @import "~bootstrap/scss/bootstrap"; @import "~aos/dist/aos.css"; @import "../../../my-

我正在开发一个共享组件的主题和插件。在我的主题中,我有一个scss文件,我想从插件中导入一个main.scss文件。情况就是这样:

插件main.scss

@import "slick";
@import "slick_theme";
@import "~bootstrap/scss/bootstrap";
@import "~aos/dist/aos.css";
@import "../../../my-directory/**/*.scss";
@import "../../plugins/my-plugin/assets/src/scss/main";
Theme main.scss

@import "slick";
@import "slick_theme";
@import "~bootstrap/scss/bootstrap";
@import "~aos/dist/aos.css";
@import "../../../my-directory/**/*.scss";
@import "../../plugins/my-plugin/assets/src/scss/main";
我无法编译我的主题的main.scs,因为它无法解析节点_模块的url和带有通配符的目录

有什么想法吗?

(A)最简单(最快!)的方法:使用完整的相对路径

由于SASS不支持使用
@
-规则的SASS文件中的通配符:只需删除通配符并将完整的相对路径写入节点模块,如
@import'../../complete/relative/path/to/node/module/dir/file.scss'
;-)

(B)备选方案:设置
includePath

将项目的节点目录设置为
includePath
。因为我不知道您使用的编译器,这里是如何在原始SASS中执行的信息(但“includePath”变量几乎相同):

在这种情况下,您只能使用文件名导入
@import


附加说明:

  • 在SASS规则中,
    @import
    根本不支持多个包含。意思是:在SASS文件中,
    @import'*.scss'
    (正如您在示例中尝试在文件名中使用通配符
    *
    )将完全不起作用。您始终需要指定一个具体的文件:
    @import'concreteFile.scss'

  • 在SASS中,您可以从文件名中删除后缀
    .scss
    。因为这个
    @import
    path/to/filename'`也可以工作