用vue-cli创建以webpack为模版的项目,npm install material-css,然后怎么配置才可以使用呢
看你需求了,
第一种全局引入,在main.js中写路径import '../css/xxx.css'
第二种组件中引入,在组件中的style标签写@import '../css/xxx.css'
如果只是纯css的话,直接在main.js里面
import 'XXX.css'
应该就可以了吧
没用过你说的material-css,不过github的readme应该有讲npm之后要怎样用吧?
通常要么是全局引用,在根组件require并vue.use;要么是支持局部引用,在需要的组件里require,在components里面声明。
CMD
require('!style!css!material-css/material-css.css')
如果是在全局都使用的话可以在index.html中引入这个文件,如果是在组件中使用,可以用import xx.css
shell 脚本中$$,$#,$?分别代表什么意思?给你个全的,你在Linux环境下多试下就明白了:
$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用
shell脚本中 $# 是代表什么?代表你脚本的参数个数
比如./test.sh var1 var2 var3
$#就是3,因为有3个变量
QTP VBS脚本中,Exist(3)代表什么意思啊?判断对象在3秒内是否在应用程序中存在,3秒内的任何时候若存在了,则立即完成该语句并返回True(最短约0秒);若超过3秒后仍没有在应用程序中存在(其实就是应用程序中没有符合该对象属性描述的控件),则返回false,但是不会在result中将该语句认定为执行fail
shell脚本中a=$1:$2什么意思a='123'
b='456'
c=$a+$b
echo $c
>>>123:456
这就是结果咯,$1代表第一个命令行参数,$2代表第二个参数
例如你的脚本名叫test.sh,那么执行test.sh 123 456,你的$a就是123:456
shell脚本中变量前加$表示什么意思?就是一个规定的标识吧,告诉shell,这个时候该取$后面这个变量的值了。
unity3d的Js脚本中,var bPowerupStatus : boolean[]代表什么意思?
JavaScript - BakeMaterial.js
class BakeMaterialSettings
{
private static var kEditorPrefsName = "BakeMaterialSettings"
static var kBakingLayerShouldBeUnusedInScene = 30
static var kStandardTexNames = new Array ("_MainTex", "_BumpMap", "_Detail", "_ParallaxMap","_Parallax")
var bakeAlpha = false
var bakeMainTexAsWhite = false
var minTextureResolution = 8
var maxTextureResolution = 2048
var emptyScene = false
var useCustomLights = false
var ambient = Color.black
static var kLights = 3
var enableLight = new boolean[kLights]
var colorLight = new Color[kLights]
var dirLight = new Vector2[kLights]
function BakeMaterialSettings ()
{
Load ()
}
function Load ()
{
bakeAlpha = EditorPrefs.GetBool(kEditorPrefsName + ".bakeAlpha")
bakeMainTexAsWhite = EditorPrefs.GetBool(kEditorPrefsName + ".bakeMainTexAsWhite")
minTextureResolution = EditorPrefs.GetInt(kEditorPrefsName + ".minTextureResolution", 8)
maxTextureResolution = EditorPrefs.GetInt(kEditorPrefsName + ".maxTextureResolution", 2048)
emptyScene = EditorPrefs.GetBool(kEditorPrefsName + ".emptyScene")
useCustomLights = EditorPrefs.GetBool(kEditorPrefsName + ".useCustomLights")
ambient.r = EditorPrefs.GetFloat(kEditorPrefsName + ".ambient.r")
ambient.g = EditorPrefs.GetFloat(kEditorPrefsName + ".ambient.g")
ambient.b = EditorPrefs.GetFloat(kEditorPrefsName + ".ambient.b")
ambient.a = EditorPrefs.GetFloat(kEditorPrefsName + ".ambient.a", 1.0f)
for (var q = 0q <kLights++q)
{
enableLight[q] = EditorPrefs.GetBool(kEditorPrefsName + ".enableLight" + q)
colorLight[q].r = EditorPrefs.GetFloat(kEditorPrefsName + ".color.r" + q, 0.5f)
colorLight[q].g = EditorPrefs.GetFloat(kEditorPrefsName + ".color.g" + q, 0.5f)
colorLight[q].b = EditorPrefs.GetFloat(kEditorPrefsName + ".color.b" + q, 0.5f)
colorLight[q].a = EditorPrefs.GetFloat(kEditorPrefsName + ".color.a" + q, 1.0f)
dirLight[q].x = EditorPrefs.GetFloat(kEditorPrefsName + ".dir.x" + q)
dirLight[q].y = EditorPrefs.GetFloat(kEditorPrefsName + ".dir.y" + q)
}
}
function Save ()
{
EditorPrefs.SetBool(kEditorPrefsName + ".bakeAlpha", bakeAlpha)
EditorPrefs.SetBool(kEditorPrefsName + ".bakeMainTexAsWhite", bakeMainTexAsWhite)
EditorPrefs.SetInt(kEditorPrefsName + ".minTextureResolution", minTextureResolution)
EditorPrefs.SetInt(kEditorPrefsName + ".maxTextureResolution", maxTextureResolution)
EditorPrefs.GetBool(kEditorPrefsName + ".emptyScene", emptyScene)
EditorPrefs.SetBool(kEditorPrefsName + ".useCustomLights", useCustomLights)
EditorPrefs.SetFloat(kEditorPrefsName + ".ambient.r", ambient.r)
EditorPrefs.SetFloat(kEditorPrefsName + ".ambient.g", ambient.g)
EditorPrefs.SetFloat(kEditorPrefsName + ".ambient.b", ambient.b)
EditorPrefs.SetFloat(kEditorPrefsName + ".ambient.a", ambient.a)
for (var q = 0q <kLights++q)
{
EditorPrefs.SetBool(kEditorPrefsName + ".enableLight" + q, enableLight[q])
EditorPrefs.SetFloat(kEditorPrefsName + ".color.r" + q, colorLight[q].r)
EditorPrefs.SetFloat(kEditorPrefsName + ".color.g" + q, colorLight[q].g)
EditorPrefs.SetFloat(kEditorPrefsName + ".color.b" + q, colorLight[q].b)
EditorPrefs.SetFloat(kEditorPrefsName + ".color.a" + q, colorLight[q].a)
EditorPrefs.SetFloat(kEditorPrefsName + ".dir.x" + q, dirLight[q].x)
EditorPrefs.SetFloat(kEditorPrefsName + ".dir.y" + q, dirLight[q].y)
}
}
}
class BakeMaterial extends EditorWindow
{
private static var kMateriBakeNodeName = "__MateriaBakeSetup"
private static var kWindowMinSize = Vector2 (300, 386)
private static var settings : BakeMaterialSettings
private static var visible : boolean = false
private var camera : GameObject
private var plane : GameObject
private var previewTexture : Texture
private var lights : GameObject[] = new GameObject[BakeMaterialSettings.kLights]
private var stateChanged = false
private var texViewScrollPosition = Vector2.zero
private var lastMaterial : Material
private var originalScene = ""
private var scheduleBakeOnNextUpdate = false
private function SetupScene ()
{
DestroyScene ()
var oldGo = GameObject.Find(kMateriBakeNodeName)
if (oldGo)
DestroyImmediate (oldGo)
camera = new GameObject (kMateriBakeNodeName, Camera)
plane = GameObject.CreatePrimitive (PrimitiveType.Plane)
var cam = camera
cam.camera.backgroundColor = Color.black
cam.camera.clearFlags = CameraClearFlags.SolidColor
cam.camera.orthographic = true
cam.camera.orthographicSize = 5.0
cam.camera.cullingMask = 1 <<settings.kBakingLayerShouldBeUnusedInScene
plane.transform.parent = cam.transform
plane.transform.position = Vector3.forward * 10.0
plane.transform.rotation = Quaternion.Euler (0, 0, 180) * Quaternion.Euler (-90, 0, 0)
plane.layer = settings.kBakingLayerShouldBeUnusedInScene
for (var l in lights)
{
l = new GameObject ("Light", Light)
l.light.type = LightType.Directional
l.light.cullingMask = 1 <<settings.kBakingLayerShouldBeUnusedInScene
l.transform.parent = cam.transform
l.active = false
}
}
private function UpdateScene (m : Material)
{
for (q = 0q <settings.kLights++q)
{
lights[q].active = settings.useCustomLights &settings.enableLight[q]
lights[q].light.color = settings.colorLight[q]
lights[q].transform.rotation =
Quaternion.AngleAxis(settings.dirLight[q].x, Vector3.up) *
Quaternion.AngleAxis(settings.dirLight[q].y, Vector3.right)
}
if (settings.useCustomLights)
RenderSettings.ambientLight = settings.ambient
else if (settings.emptyScene)
RenderSettings.ambientLight = Color.white
plane.renderer.material = m
}
private function DestroyScene ()
{
GameObject.DestroyImmediate (camera)
GameObject.DestroyImmediate (plane)
GameObject.DestroyImmediate (previewTexture)
}
function UpdateMaterialPreview (m : Material) : RenderTexture
{
if (!m)
return
var saveAmbientLight = RenderSettings.ambientLight
var saveMainTexture = m.mainTexture
if (settings.bakeMainTexAsWhite)
m.mainTexture = null
setup
if (!camera)
SetupScene ()
camera.SetActiveRecursively(true)
UpdateScene (m)
var res = FindLargestTextureResolution (plane.renderer.sharedMaterial, settings.minTextureResolution, settings.maxTextureResolution)
var rt = RenderCameraToRenderTexture (camera.camera, res.x, res.y)
restore
camera.SetActiveRecursively(false)
RenderSettings.ambientLight = saveAmbientLight
m.mainTexture = saveMainTexture
previewTexture = rt
return rt
}
function CaptureMaterial(m : Material)
{
var matAssetPath = AssetDatabase.GetAssetPath (m)
var assetPath = System.IO.Path.Combine (System.IO.Path.GetDirectoryName (matAssetPath), System.IO.Path.GetFileNameWithoutExtension (matAssetPath))
var rt = UpdateMaterialPreview (m)
RenderTextureToPNG (rt, settings.bakeAlpha, assetPath + ".png")
}
function OnEnable ()
{
if (!settings)
settings = new BakeMaterialSettings ()
SetupScene ()
visible = true
}
如果你还有什么不懂的,可以百度搜下:编程回忆录,他们现在正在录制这方面的教程,都是零基础开始,由浅入深。
}
shell脚本中的美元符号什么意思linux shell脚本中的美元符号$,是作为shell中特殊变量使用的,具体含义:
$0 shell的命令本身(包括完整路径)
$1到$9 数字表示shell 的第几个参数
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的ID号
$! 后台运行的最后一个进程的ID号
$@ 与$*相同。
$- 显示shell使用的当前选项。
$? 显示最后命令的执行状况。0表示没有错误。
javascript 脚本中 innerHTML 代表什么?<>
<body>
<div><a href="#">aaaaa</a>
</div>
</body>
<>
innerHtml 表示指定对象内的所有内容。
比如你现在的对象是<div>标签,则innerHtml是:<a href="#">aaaaa</a>
shell脚本中 if 判断时候-s是什么意思文件大小非0时为真
[ -f "somefile" I74 :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等,详细用法可参考《linux就该这么学》第二章,-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
指的是文件大小非0时为真。
shell中怎么判断输入的是否是数字:
第一种:sed格式
首先:我们先(在命令行直接输出模拟一下,如果都正确再在shell脚本中进行书写。)直接echo输出一下
echo "111asd"
第一步:思想
然后我们就要想一下我们要说用sed判断,但是sed的最主要的功能是什么?替换!当然是替换,既然是替换那么我们能不能直接把echo输出的数字直接替换掉,然后看这个输出还剩下什么呢?如果我们剩下的空,那么我就基本可以确定我echo输出的就是空,如果我sed替换之后不是空,那么我是不是就是可以认为我echo输出的不是数字或不全是数字呢?
第二步:命令行测试:
[root@localhost shell]# echo "111asd" | sed 's#[0-9]##g' | cat -A
asd$
[root@localhost shell]# echo "111" | sed 's#[0-9]##g' | cat -A
$
第三步:进行shell测试
经过第二步我们很明显就能看出来这个想法是能够实现的。所以在shell中配合-z(zero)-n(no zero)是完全可以实现的,所以这个时候我们就可以进行脚本的编写测试了。
#!/bin/bash
##############################################################
# File Name: test.sh
# Version: V1.0
# Author: ls
# Created Time : 2017-02-24 06:25:13
# Description:
##############################################################
#交互式外部读取
read -p "pleace input: " a1
#if进行数字判断
if [ -z "$(echo $a1 | sed 's#[0-9]##g')" ]
then
#如果是数字输出yes给$?一个1的返回值并退出。
echo "yes"
exit 1
else
#如果不是数字输出no给$?一个1的返回值并退出。
echo "no"
[root@localhost shell]# sh test.sh
pleace input: 1
yes
[root@localhost shell]# sh test.sh
pleace input: q1
no