Я разрабатываю аддон ember, который импортирует sass из его зависимостей. Чтобы использовать его, у меня есть следующее в моем дополнении -
# my-addon/package.json
...
"dependencies": {
"lib1": "^1.5.3",
"lib2": "1.2.3",
"ember-cli-sass": "^10.0.1",
"sass": "^1.23.3"
}
...
# my-addon/addon/styles/addon.scss
@import "lib1/assets/stylesheets/styles";
@import "lib2/assets/stylesheets/styles";
# my-addon/ember-cli-build.js
let app = new EmberAddon(defaults, {
// Add options here
sassOptions: {
includePaths: [
'node_modules'
]
}
});
Таким образом, фиктивное приложение на tests/dummy
может разрешить импорт. Но когда я использую аддон в своем хост-приложении, я получаю
Error: Can't find stylesheet to import.
╷
1 │ @import "lib1/assets/stylesheets/styles";
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
. Я могу изменить ember-cli-build.js
моего хост-приложения на
let app = new EmberAddon(defaults, {
// Add options here
sassOptions: {
includePaths: [
'node_modules/my-addon/node_modules'
]
}
});
, и в идеале оно должно работать, но sass заканчивается памяти, потому что он пытается импортировать все в node_modules
моего хост-приложения. Как сделать так, чтобы как фиктивное приложение, так и приложение хоста все еще могли импортировать пространство имен lib * css?