不相容单位: 'REM' 和 'PX' - 引导4和Laravel混合

问题描述:

我刚安装一个新鲜Laravel 5.4,和自举4阿尔法6. Laravel混合不会编译SASS: 这里是一个错误:不相容单位: 'REM' 和 'PX' - 引导4和Laravel混合

Module build failed: ModuleBuildError: Module build failed: 
$input-height:     (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default; 
           ^
     Incompatible units: 'rem' and 'px'. 
     in /Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/bootstrap/scss/_variables.scss (line 444, column 34) 
    at runLoaders (/Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/webpack/lib/NormalModule.js:192:19) 
    at /Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/loader-runner/lib/LoaderRunner.js:364:11 
    at /Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/loader-runner/lib/LoaderRunner.js:230:18 
    at context.callback (/Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/loader-runner/lib/LoaderRunner.js:111:13) 
    at Object.asyncSassJobQueue.push [as callback] (/Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/sass-loader/lib/loader.js:57:13) 
    at Object.<anonymous> (/Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/sass-loader/node_modules/async/dist/async.js:2262:31) 
    at apply (/Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/sass-loader/node_modules/async/dist/async.js:20:25) 
    at Object.<anonymous> (/Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/sass-loader/node_modules/async/dist/async.js:56:12) 
    at Object.callback (/Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/sass-loader/node_modules/async/dist/async.js:944:16) 
    at options.error (/Volumes/HDD/nicolae/Dev/htdocs/test/node_modules/node-sass/lib/index.js:294:32) 

@ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss 

有人通过这个?如何?

解决

  1. 从的package.json删除引导入口和与 替换为 “引导”: “4.0.0-alpha.6”,在资源/资产/上海社会科学院/ app.scss,
  2. 注释掉变量的导入。将引导路径更改为 @import“node_modules/bootstrap/scss/bootstrap.scss”;
  3. in resources/assets/js/bootstrap.js,look for require('bootsrap-sass'); 并将其更改为需要('bootstrap');

Link!

+5

是的,貌似还有的Laravel提供的'资源/资产/ SASS/_variables'并随引导V4 A6变量之间的冲突。评论Laravel的变量解决了这个问题。 –

+0

啊哈,谢谢@Nicolae Casir !! :) –

+0

@Nicolae Casir,为什么这个答案仍然不被接受? – lewis4u

这对我来说太,它就像你说的,一些变量的覆盖是这个错误的原因。

为了解决这个问题只是注释此行资源/资产/上海社会科学院/ _variables:

$字体大小底座:14px的;

在变量中,如果您需要使用laravel提供的其他变量。

参考:https://github.com/twbs/bootstrap/issues/18368

+5

您也可以简单地将'14px'更改为'1rem' - 为我解决了这个问题。 – ElmerCat

+1

我已经下载了bootstrap 4今天,我仍然得到这个问题 $ input-height-inner:($ font-size-base * $ input-btn-line-height)+($ input-btn-padding-y * 2)!默认; ^ 不相容的单位:'rem'和'px * px'。 $ font-size-base是1rem – blomster

+1

我已经下载了bootstrap 4今天,我仍然得到这个问题: $ input-height-inner:($ font-size-base * $ input-btn-line-height )+($ input-btn-padding-y * 2)!default; ^ 不相容的单位:'rem'和'px * px'。 $ font-size-base是1rem $ input-btn-line-height是1.5(我试过改为1.5rem) $ input-btn-padding-y是0.375rem – blomster