map-get()当提供的地图中不存在密钥时,为什么不抛出错误?
例如:
$map: (
'keyone': 'value',
'keytwo': 'value',
'keythree': 'value'
);
map-get($map, 'keyfour');
Run Code Online (Sandbox Code Playgroud)
我知道map-has-key()并且我理解它本身可能有用,但如果我想map-get()顺利使用,我不应该map-has-key()每次都打电话.我希望map-get()抛出一个错误,但它会无声地失败.为什么这不是Sass的内置?
如果重要,我正在使用node-sass 3.2.0.
这也正在咬我的项目,它使用gulp-sass.gulp-sass依赖于node-sass#^ 3.4.1,它只是自动更新到3.5.3,这是一个破坏版本.
我已经通过更新package.json文件将我的gulp sass版本降级到较旧版本(2.1.0),但它仍在破坏.
如何回到节点sass 3.4.2?
错误信息
错误:您可能无法从@media中扩展外部选择器.您只能在同一指令中@extend选择器.
{
"version": "1.0.0",
"name": "abcd",
"devDependencies": {
"bower": "^1.3.12",
"express": "^4.12.3",
"gulp": "^3.8.10",
"gulp-autoprefixer": "^2.1.0",
"gulp-bower": "^0.0.7",
"gulp-concat": "^2.5.2",
"gulp-install": "^0.4.0",
"gulp-livereload": "^3.8.0",
"gulp-minify-css": "^1.0.0",
"gulp-plumber": "^1.0.0",
"gulp-sass": "2.1.0",
"gulp-sourcemaps": "^1.5.1",
"gulp-uglify": "^1.1.0"
},
"dependencies": {
"jquery": "1.11.1"
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置我的反应项目,所以我可以使用SCSS格式的SASS.
这是在我的webpack.config.dev.js中:
{
test: /\.scss$/,
exclude: /node_modules/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
},
},
{
loader: require.resolve('sass-loader'),
}
]
}
Run Code Online (Sandbox Code Playgroud)
我以两种不同的方式将scss文件导入我的jsx:
import './index.scss';
import css from './ModalWrapper.scss';
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,我目前收到错误:
./src/index.scss
Module build failed:
body {
^
Invalid CSS after "m": expected 1 selector or at-rule, was "module.exports = __"
in /pathtoapp/web/src/index.scss (line 1, column 1)
Run Code Online (Sandbox Code Playgroud)
看来我,那个,反应是试图将SCSS解释为应该起作用的CSS.另外,反应认为身体不是有效的CSS.在那里,我认为CSS或SCSS都没有正确加载.
任何帮助,将不胜感激.这个问题有很多未解决的问题.
我使用默认的 CLI 设置使用 vue-cli 和 webpack-simple 设置了一个简单的项目,并确保在询问我是否要使用 SASS 时选择了“Y”。
一、文件夹结构图:
我
main.scss在./src/scss目录中创建了一个文件,并在文件中添加了以下简单的 scss 语法:
$primary-color: rgb(173, 16, 16);
Run Code Online (Sandbox Code Playgroud)
然后,在我的App.vue模板中,我是这样的:
<style lang="scss" scoped>
h1, h2 {
font-weight: normal;
color: $primary-color;
}
</style>
Run Code Online (Sandbox Code Playgroud)
在我的main.js文件中,我确保像这样导入 main.scss 文件:
import './scss/main.scss'
Run Code Online (Sandbox Code Playgroud)
运行时npm run dev,出现以下编译错误:
编译失败。
./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-04c2046b","scoped":true,"hasInlineConfig":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/App.vue
Module build failed:
undefined
^
Undefined variable: "$primary-color".
in D:\Users\medranns\Desktop\sasswebpack\src\App.vue (line 46, column 10)
@ ./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-04c2046b","scoped":true,"hasInlineConfig":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/App.vue 4:14-316 13:3-17:5 14:22-324
@ ./src/App.vue
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js
Run Code Online (Sandbox Code Playgroud)
这是我的webpack.config.js …
我的系统配置:
debian 4.4,nvm 0.33.8,node v8.9.4,npm 5.6.0.
我想安装Angular-cli npm install -g @angular/cli.但是我收到一条错误消息:
root@contracts:/home/kalugin# npm install -g @angular/cli
/root/.nvm/versions/node/v8.9.4/bin/ng -> /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/bin/ng
> node-sass@4.7.2 install /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/node-sass
> node scripts/install.js
module.js:471
throw err;
^
Error: Cannot find module '/root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/node-sass/scripts/install.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
> uglifyjs-webpack-plugin@0.4.6 postinstall /root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/webpack/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js
module.js:471
throw err;
^
Error: Cannot find module '/root/.nvm/versions/node/v8.9.4/lib/node_modules/@angular/cli/node_modules/webpack/node_modules/uglifyjs-webpack-plugin/lib/post_install.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run …Run Code Online (Sandbox Code Playgroud) @import 'packages/bulma.sass';
@charset "utf-8"
/*! bulma.io v0.6.1 | MIT License | github.com/jgthms/bulma */
@import "sass/utilities/_all"
@import "sass/base/_all"
@import "sass/elements/_all"
@import "sass/components/_all"
@import "sass/grid/_all"
@import "sass/layout/_all"
Run Code Online (Sandbox Code Playgroud)
'错误:client / packages / bulma.sass.scss不存在!
是否有可能导入SASS到一个SCSS文件?将bulma安装到scss env中的最佳方法是什么。
我也尝试过@import 'packages/bulma',并得到client/packages/bulma.scss doesn\'t exist!。
我正在尝试安装node-sass, 但由于以下错误而失败。我试图重建命令但根本没有运气 -sudo npm rebuild node-sass
$ npm install node-sass
...
...
...
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /home/lau/.node-gyp/10.12.0
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/var/www/html/projects/autopoiesis/autopoiesis/node_modules/gulp-sass/node_modules/node-sass/build'
g++ '-DNODE_GYP_MODULE_NAME=binding' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DBUILDING_NODE_EXTENSION' -I/home/lau/.node-gyp/10.12.0/include/node -I/home/lau/.node-gyp/10.12.0/src -I/home/lau/.node-gyp/10.12.0/deps/openssl/config -I/home/lau/.node-gyp/10.12.0/deps/openssl/openssl/include -I/home/lau/.node-gyp/10.12.0/deps/uv/include -I/home/lau/.node-gyp/10.12.0/deps/zlib -I/home/lau/.node-gyp/10.12.0/deps/v8/include -I../../../../nan -fPIC -pthread …Run Code Online (Sandbox Code Playgroud) npm安装成功。npm start 抛出以下错误。
不依赖 bcrpt 和 node-pre-gyp 关注了类似问题的大多数评论,例如清理缓存、重建、删除节点模块并再次安装,但没有一个对我有用。Node版本有问题吗?节点:11.15.0 npm:6.7.0
** npm start 上的错误消息 **
Module build failed (from ../node_modules/sass-loader/lib/loader.js):
Error: The module '\\?\D:\_Install\win32-x64-64_binding.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 67. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Object.Module._extensions..node (internal/modules/cjs/loader.js:857:18)
at Module.load (internal/modules/cjs/loader.js:685:32)
at Function.Module._load (internal/modules/cjs/loader.js:620:12)
at Module.require (internal/modules/cjs/loader.js:723:19)
at require (internal/modules/cjs/helpers.js:14:16)
at module.exports (C:\Users\syedabu.c\Downloads\ReactJSBlueprint\node_modules\node-sass\lib\binding.js:19:10)
at Object.<anonymous> (C:\Users\syedabu.c\Downloads\ReactJSBlueprint\node_modules\node-sass\lib\index.js:14:35)
at Module._compile (internal/modules/cjs/loader.js:816:30)
at …Run Code Online (Sandbox Code Playgroud) 我跑了create-react-app然后跑了yarn install,当我运行yarn start我的终端打印出以下错误时,我不知道从哪里开始调试这个问题。
Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (72)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.11.0
Run Code Online (Sandbox Code Playgroud) 我发现 create-react-app 文档建议使用 node-sass 但 npm 中的包说 LibSass 和 Node Sass 已弃用。那么,如果有人可以提供帮助,那么在 React 项目中安装 sass 的最佳方法是什么?
node-sass ×10
sass ×6
node.js ×4
reactjs ×4
javascript ×2
webpack ×2
angular-cli ×1
bulma ×1
css ×1
gulp ×1
gulp-sass ×1
macos ×1
npm ×1
npm-install ×1
sass-loader ×1
scss-lint ×1
vuejs2 ×1
webpack-2 ×1