Monthly Archive 七月 2018

By柏小白

webstorm下的sass自动编译

1、安装Ruby

2、安装sass

3、webstorm配置file watcher

4、移动端自适应

1、安装Ruby

1

安装Ruby,有多种方式,打开官网下载

因为,使用的是window选择RubyInstall,下载地址  https://rubyinstaller.org/downloads/

2

RubyInstall下载地址

3

选择对应系统的版本,下载完成,安装

4

添加到path,建议勾上,安装完成后,打开开始面板,会有一个Start Command Prompt with Ruby,命令行工具。

安装完毕后打开cmd,输入:$ ruby -v显示如下说明ruby安装成功:

使用RubyInstaller的同时也安装了rubyGems,我们测试下gem是否安装成功:

2、安装sass

个人偏好sass,也可以选择less或stylus,打开上一步安装的Ruby命令行

5

输入gem list 看一下安装了那些包,接着gem install sass

6

3、webstorm配置file watcher

打开webstorm,File -> settings -> Tools -> File Watchers

7

选择+号,新建scss

8

在输出参数位置,一般会加上–style *;展开格式nestedexpandedcompactcompressed,最传统的选择--style expanded,括号上下换行

工作文件夹和输出位置,可以根据项目来选择,放在同级目录,或者父级,点击insert macros

常见的有文件路径,父文件路径等等,可以自己尝试下,加深理解

 

 

备注:

ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法

sass文件编译时候使用ruby环境,无论是界面化的koala工具还是命令行模式的都无法通过,真是令人烦恼。

容易出现中文注释时候无法编译通过,或者出现乱码,找了几天的解决方法终于解决了。

这个问题的奇葩之处在于在xp环境中没有任何问题,只是在windows7环境中才出现的这个。

sass编译时候出现如下错误的解决方法:

Syntax error: Invalid GBK character "\xE5"
        on line 8 of E:\work\sass\sass\_big_box.scss
        from line 16 of E:\work\sass\sass\main.scss
  Use --trace for backtrace.

或者

Syntax error: Invalid GBK character "\xE5"
        on line 2 of E:\work\sass\sass\main.scss
  Use --trace for backtrace.

 

解决办法:

1.koala可视化编译工具,

找到安装目录里面sass-3.3.7模块下面的engine.rb文件,例如下面路径:

C:\Program Files (x86)\Koala\rubygems\gems\sass-3.3.7\lib\sass

在这个文件里面engine.rb,添加一行代码

Encoding.default_external = Encoding.find('utf-8')

放在所有的require XXXX 之后即可。

2.命令行工具同理

找到ruby的安装目录,里面也有sass模块,如这个路径:

C:\Ruby\lib\ruby\gems\1.9.1\gems\sass-3.3.14\lib\sass

在这个文件里面engine.rb,添加一行代码(同方法1)

Encoding.default_external = Encoding.find('utf-8')

放在所有的require XXXX 之后即可。

3. 自动缓存 .sass-cache 文件关闭

默认情况下,Sass 会自动缓存编译后的模板(template)与 partials,这样做能够显著提升重新编译的速度,在处理 Sass 模板被切割为多个文件并通过 @import 导入,形成一个大文件时效果尤其显著。

如果不使用框架的情况下,Sass 将会把缓存的模板放入 .sass-cache 目录。

在 Rails 和 Merb 中,缓存的模板将被放到tmp/sass-cache 目录。

此目录可以通过:cache_location 选项进行自定义。

如果你不希望 Sass 启用缓存功能,

修改相关路径  C:\Ruby23-x64\lib\ruby\gems\2.3.0\gems\sass-3.7.3\lib\sass\engine.rb

:cache => true, 选项设置为 :cache => false

 

 

By柏小白

Vue项目编译后部署在非网站根目录的解决方案

这篇文章主要介绍了Vue项目编译后部署在非网站根目录的解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

同一个生产部署项目,基内外网的访问路径并不相同,内网是基于域名根目录来访问,而外网却指向了一个子目录。

eg. :

vue-router: history模式 内网环境:192.168.1.1:8080/index.html 外网环境:domain.com/ttsd/index.html

由于开发出来的项目是要部署在客户方,且客户并不想单独拿一个域名(或子域)来部署,这时,打包后的程序就要作一些配置方面的修改了。

修改配置文件

1、把打包后的资源引用修改为相对路径 找到 config/index.js 中 build 属性下的 assetsPublicPath

build: {
 ...
 assetsPublicPath: './' // 未修改前的配置为 '/',
}

2、修改样式引用的资源文件(图片、视频、字体文件等)为相对路径 找到 build/utils.js 中,添加(或修改) publicPath 为 '../../'

if (options.extract) {
 return ExtractTextPlugin.extract({
 use: loaders,
 fallback: 'vue-style-loader',
 publicPath: '../../' // 修改路径
 })
} else {
 return ['vue-style-loader'].concat(loaders)
}

修改路由

在路由的history模式下,所有的路由都是基于根路径的,如 /xxxx ,由于部署目录未知,所以我们可以根据 location.pathname 来获取到当前访问的文件路径,来修改路由。

vue-router里提供了一个base的属性

base类型: string 默认值: "/" 应用的基路径。例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/" 。

修改路由代码

function getAbsolutePath () {
 let path = location.pathname
 return path.substring(0, path.lastIndexOf('/') + 1)
}

const routers = new Router({
 mode: 'history',
 base: getAbsolutePath(),
 ...
})

至此,打包配置的相关修改已全部完成,项目也能够正常访问。 但还是会有一个问题,跳转到某个路由后,刷新页面,就gg了,页面为空白,此时就要修改nginx的配置了。

修改nginx的配置

官方给的nginx配置是根目录下的,即 https://router.vuejs.org/zh-cn/essentials/history-mode.html#nginx

location / {
 try_files $uri $uri/ /index.html;

 // 需要修改为
 try_files $uri $uri/ /dist/index.html;
}

注: /dist 根据实际部署的网站目录,修改一下就可以。 个人感觉还可以通过nginx内置的指令去动态获取,在下就不太清楚了。

By柏小白

群晖DSM6.0系统完美修改root账号密码

以下内容来源于网络,经过我的补充与完善,让小白们看的更加明白!

首先感谢贴吧:tom6781459的教程自从群晖NAS升级到DSM6.0以后,官方修改了系统的ROOT密码,原来一些老的教程都说是admin账户密码,其实已经修改过了。现如今已经有了完美修改root密码的方法,你可以修改成任意的,当然为了避免遗忘,还是建议你设置成admin账户的密码吧。方法很简单,几步操作就可以,开启后就可以做相应的修改了。

我主要是为了修改transmission自带的英文版web,修改的方法可以看其它群晖设置tansmission的相关教程。

群晖NAS (DSM6.0以上版本)
Xshell软件: 链接:https://pan.baidu.com/s/13Dn9IsNbcZmovPOkeEaq1Q 密码:ypz3

进入Xshell后开始修改操作,先切换到英文输入法。

192.168.2.28为我的NAS地址,(请填写你要修改的NAS地址)1531491417(1)

链接类型选择SSH,点击“确定”

  1. 输入admin账户的账号和密码后按Enter键

    4f27b1ed899edec70d351a2a40777982

    群晖DSM6.0系统完美修改root账号密码
  2. 确定出现绿色字体的admin@xxx(XXX应该显示你设置的主机用户名)

    (ainrt为我的nas主机用户名)

    2

  3. 然后输入    “sudo su -”

    (注意u和-之间有一个空格!!!)

    3

  4. 再次输入admin密码 就会出现绿色字体root@xxx。

    (XXX应该显示你设置的主机用户名)

    4

  5. 输入

    synouser –setpw root xxx

    (xxx是你打算要修改的root的密码 建议修改成和admin账户一样,注意–前有一个空格),按一下Enter键出现绿色字体的root@xxx,这样就成功了。 之后你可以进winscp 用root户名和你刚修改的密码登陆了。之后的权限修改操作都用winscp这个软件。

    5

 

By柏小白

NAS群晖frp自动启动

frp 自动启动

客户端

NAS 群晖

创建脚本文件

1.创建脚本文件

在目录/根目录下,建立子目录install,并且只有文件主有读、写和执行权限,其他人无权访问

mkdir -m 700 /install

在install目录中建立frps.sh,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问

touch frps.sh

设置权限

chmod +x frps.sh

2.客户端

# 下载版本请兼容线上安装版本
wget https://github.com/fatedier/frp/releases/download/v0.12.0/frp_0.12.0_linux_386.tar.gz
tar -zxvf frp_0.12.0_linux_386.tar.gz
cd frp_0.12.0_linux_386
rm -f frps
rm -f frps.ini
vi frpc.ini
[common]
#远程服务器ip
server_addr = ***.**.**.***
server_port = 7000
#设置frps密码
privilege_token = ****
[companyMainWin]
privilege_token = true
type = tcp
#本地端口
local_port = **** 
#远程端口
remote_port = ****

 

 

并且进入frps.sh 脚本中

vim frps.sh
#!/bin/bash

cd /install
cd frp_0.12.0_linux_386
./frpc -c ./frpc.ini

设置自启动

  1. 登录群晖 NAS 系统
  2. 进入控制面板 -> 任务计划
  3. 创建一个触发的任务 -> 用户定义的脚本
  4. 常规
    • 设置名称名称,如:frps
    • 用户账号:root
    • 事件:开机

    1

  5. 任务设置
    • 用户定义的脚本,上面创建的脚本: /install/frps.sh

    2

Read More