我有一个 monorepo 项目,其中包括一个库、几个项目和主项目。我的离子项目在projects
文件夹中。
我无法构建我的 ionic 项目 (ionic build
或ng build
),因为它从主项目 ( src/
) 中导入了一个模块,该模块从文件夹中的第三个项目中导入了一个 sass 文件libs/
。
使用 构建时ionic build
,出现错误:
“找不到要导入的样式表。”
@import 'libs/...';
当我使用 ng-cli 构建时,对于从项目中看似任何地方导入的 sass 文件的每个引用,我都会收到错误libs/...
,甚至是未在该项目中导入的文件/模块。
构建从文件夹导入的其他项目我没有任何问题。
package.json
ionic 项目文件夹内的文件包含以下代码段:
"config": {
"ionic_webpack": "./webpack.config.js",
"ionic_sass": "./sass.config.js",
"ionic_source_map_type": "source-map"
},
我的自定义配置粘贴在下面,我尝试了包含../../
或不包含以及ionic build
从根目录和项目根目录运行的变体:
const useDefaultConfig = require('@ionic/app-scripts/config/sass.config.js');
useDefaultConfig.includePaths.push('libs/path/to/assets/scss');
useDefaultConfig.includePaths.push('libs/path/to/assets/scss/partials');
useDefaultConfig.includePaths.push('../../libs/path/to/assets/scss');
useDefaultConfig.includePaths.push('../../libs/path/to/assets/scss/partials');
useDefaultConfig.includePaths.push('dist/path/to/assets/scss');
useDefaultConfig.includePaths.push('dist/path/to/assets/scss/partials');
useDefaultConfig.includePaths.push('../../dist/path/to/assets/scss');
useDefaultConfig.includePaths.push('../../dist/path/to/assets/scss/partials');
module.exports = useDefaultConfig;
我也试过做
module.exports = function(){ return useDefualtConfig; };
stylePreprocessorOptions.includePaths
我在文件的项目部分中添加了路径,angular.json
如下所示:
"stylePreprocessorOptions": {
"includePaths": [
"libs/path",
"libs/path/assets/scss",
"libs/path/assets/scss/partials",
"dist/path",
"dist/path/assets/scss",
"dist/path/assets/scss/partials"
]
},
我还将路径包含在tsconfig.app.json
和中tsconfig.json
。