无法将 Bootstrap 4 SCSS 导入 Angular-Cli 1.5
Can't Import Bootstrap 4 SCSS Into Angular-Cli 1.5
我刚刚将我的 CLI 项目升级到 Angular 5/CLI 1.5,但无论我做什么,我都会收到来自 Bootstrap 4 的错误。这是主要错误:
ERROR in ./node_modules/css-loader?{"sourceMap":false,"importLoaders":1}!./node_modules/postcss-loader?{"ident":"postcss"}!./node_modules/sass-loader/lib/loader.js?{"sourceMap":false,"precision":8,"includePaths":[]}!./src/styles.scss
Module build failed:
@return mix($color-base, $color, $level * $theme-color-interval);
^
Argument `$color-2` of `mix($color-1, $color-2, $weight: 50%)` must be a color
我的 Bootstrap 安装基本上是通过 scss 导入我想要的东西,而不是全部。
一直有效的导入:
@import "~bootstrap/scss/functions";
@import "~bootstrap/scss/variables";
@import "~bootstrap/scss/mixins";
@import "~bootstrap/scss/reboot";
@import "~bootstrap/scss/bootstrap-grid";
@import "~bootstrap/scss/tables";
@import "~bootstrap/scss/alert";
@import "~bootstrap/scss/utilities";
我也试过导入整个东西来调试问题,但出现了同样的错误:
@import "~bootstrap/scss/bootstrap";
我读过有关此问题的旧线程,说它很久以前就已修复,但我无法解决它。有没有人遇到过这个问题并解决了?
工作流程:
- 删除node_modules并打包-lock.json
npm install
ng serve
(我使用的是全局 CLI,不是本地的)
节点版本:8.9.0
NPM 版本:5.5.1
这是我的设置:
"dependencies": {
"@angular/animations": "^5.0.0",
"@angular/cdk": "^5.0.0-rc0",
"@angular/cli": "^1.5.0",
"@angular/common": "^5.0.0",
"@angular/compiler": "^5.0.0",
"@angular/compiler-cli": "^5.0.0",
"@angular/core": "^5.0.0",
"@angular/forms": "^5.0.0",
"@angular/http": "^5.0.0",
"@angular/language-service": "^5.0.0",
"@angular/material": "^5.0.0-rc0",
"@angular/platform-browser": "^5.0.0",
"@angular/platform-browser-dynamic": "^5.0.0",
"@angular/platform-server": "^5.0.0",
"@angular/router": "^5.0.0",
"bootstrap": "^4.0.0-beta.2",
"core-js": "^2.4.1",
"font-awesome": "^4.7.0",
"hammerjs": "^2.0.8",
"lodash": "^4.17.4",
"rxjs": "^5.5.2",
"socket.io-client": "^2.0.4",
"zone.js": "^0.8.18"
},
"devDependencies": {
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/lodash": "^4.14.77",
"@types/node": "~8.0.5",
"codelyzer": "~4.0.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.3.0",
"tslint": "~5.7.0",
"typescript": "~2.4.2"
}
确保节点已更新到最新版本,之后 运行:
npm 更新-g
更新所有包,或
npm 更新 [包名]
包括Bootstrap
Bootstrap 是一个流行的 CSS 框架,可以在 Angular 项目中使用。本指南将引导您将 bootstrap 添加到 Angular CLI 项目并将其配置为使用 bootstrap.
正在安装Bootstrap
创建并准备好新项目后,您接下来需要将 bootstrap 作为依赖项安装到您的项目中。使用 --save 选项,依赖项将保存在 package.json
版本3.x
npm install bootstrap --save
版本4.x
npm install bootstrap@next --save
配置项目
完成后应该如下所示:
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
了解更多
https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/include-bootstrap.md
结果我回答了我自己的问题,说我没有使用 darken
mixin。我在 Bootstrap 之前包含的变量文件中进行了调用。我把它移了下来,一切都恢复正常了。
奇怪的是这段代码已经几个月没有更改而且运行良好。我猜编译器现在更挑剔了。
我刚刚将我的 CLI 项目升级到 Angular 5/CLI 1.5,但无论我做什么,我都会收到来自 Bootstrap 4 的错误。这是主要错误:
ERROR in ./node_modules/css-loader?{"sourceMap":false,"importLoaders":1}!./node_modules/postcss-loader?{"ident":"postcss"}!./node_modules/sass-loader/lib/loader.js?{"sourceMap":false,"precision":8,"includePaths":[]}!./src/styles.scss
Module build failed:
@return mix($color-base, $color, $level * $theme-color-interval);
^
Argument `$color-2` of `mix($color-1, $color-2, $weight: 50%)` must be a color
我的 Bootstrap 安装基本上是通过 scss 导入我想要的东西,而不是全部。
一直有效的导入:
@import "~bootstrap/scss/functions";
@import "~bootstrap/scss/variables";
@import "~bootstrap/scss/mixins";
@import "~bootstrap/scss/reboot";
@import "~bootstrap/scss/bootstrap-grid";
@import "~bootstrap/scss/tables";
@import "~bootstrap/scss/alert";
@import "~bootstrap/scss/utilities";
我也试过导入整个东西来调试问题,但出现了同样的错误:
@import "~bootstrap/scss/bootstrap";
我读过有关此问题的旧线程,说它很久以前就已修复,但我无法解决它。有没有人遇到过这个问题并解决了?
工作流程:
- 删除node_modules并打包-lock.json
npm install
ng serve
(我使用的是全局 CLI,不是本地的)
节点版本:8.9.0
NPM 版本:5.5.1
这是我的设置:
"dependencies": {
"@angular/animations": "^5.0.0",
"@angular/cdk": "^5.0.0-rc0",
"@angular/cli": "^1.5.0",
"@angular/common": "^5.0.0",
"@angular/compiler": "^5.0.0",
"@angular/compiler-cli": "^5.0.0",
"@angular/core": "^5.0.0",
"@angular/forms": "^5.0.0",
"@angular/http": "^5.0.0",
"@angular/language-service": "^5.0.0",
"@angular/material": "^5.0.0-rc0",
"@angular/platform-browser": "^5.0.0",
"@angular/platform-browser-dynamic": "^5.0.0",
"@angular/platform-server": "^5.0.0",
"@angular/router": "^5.0.0",
"bootstrap": "^4.0.0-beta.2",
"core-js": "^2.4.1",
"font-awesome": "^4.7.0",
"hammerjs": "^2.0.8",
"lodash": "^4.17.4",
"rxjs": "^5.5.2",
"socket.io-client": "^2.0.4",
"zone.js": "^0.8.18"
},
"devDependencies": {
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/lodash": "^4.14.77",
"@types/node": "~8.0.5",
"codelyzer": "~4.0.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.3.0",
"tslint": "~5.7.0",
"typescript": "~2.4.2"
}
确保节点已更新到最新版本,之后 运行: npm 更新-g 更新所有包,或 npm 更新 [包名]
包括Bootstrap
Bootstrap 是一个流行的 CSS 框架,可以在 Angular 项目中使用。本指南将引导您将 bootstrap 添加到 Angular CLI 项目并将其配置为使用 bootstrap.
正在安装Bootstrap
创建并准备好新项目后,您接下来需要将 bootstrap 作为依赖项安装到您的项目中。使用 --save 选项,依赖项将保存在 package.json
版本3.x
npm install bootstrap --save
版本4.x
npm install bootstrap@next --save
配置项目 完成后应该如下所示:
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
了解更多
https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/include-bootstrap.md
结果我回答了我自己的问题,说我没有使用 darken
mixin。我在 Bootstrap 之前包含的变量文件中进行了调用。我把它移了下来,一切都恢复正常了。
奇怪的是这段代码已经几个月没有更改而且运行良好。我猜编译器现在更挑剔了。