Magento 2 windows 开发环境 Grunt css样式管理 livereload 实时预览

目录

1、Grunt安装前准备

1)把 package.json.sample Gruntfile.js.sample 这两个文件的.sample去掉

2)复制 \dev\tools\grunt\configs\themes.js 文件,改名为 local-themes.js

2、安装Grunt

3、Grunt 测试

4、碰到的问题

1)运行grunt exec:luma出错

2)多样式模板local-themes.js配置 

 5、实时预览 LiveReload 配置

1)magento目录安装livereload插件

2)下载livereload.js 到magento目录

3)在模板中加载livereload.js

4)关闭 Magento_Csp

5)开启grunt监控 

6)安装浏览器插件


1、Grunt安装前准备

1)把 package.json.sample Gruntfile.js.sample 这两个文件的.sample去掉

2)复制 \dev\tools\grunt\configs\themes.js 文件,改名为 local-themes.js

2、安装Grunt

npm install -g grunt-cli
npm install
php bin/magento cache:clean
grunt clean

3、Grunt 测试

grunt exec:luma          #生成链接文件 ,luma是系统模板名称
grunt less:luma          #生成css
grunt watch              #开启监控

4、碰到的问题

1)运行grunt exec:luma出错

In File.php line 371:
>>   A symlink for "C:/www/magento/vendor/magento/theme-frontend-blank/web/css/source/_reset.less" can't be created and placed to "C:/www/magento/pub/static/frontend/Magento/blank/en_US/css/source/_reset.less". 

>>   Warning!symlink(): Cannot create symlink, error code(1314)

以管理员方式运行CMD再执行grunt exec:luma

2)多样式模板local-themes.js配置 

上图为目录结构,在module.exports = { 加入模板配置:

    name_01: {
        area: 'frontend',
        name: '所有者/模板名称_layout01',
        locale: 'it_IT',
        files: [
            'css/styles-m',
            'css/styles-l',
            'css/print'
        ],
        dsl: 'less'
    },
    name_02: {
        area: 'frontend',
        name: '所有者/模板名称_layout02',
        locale: 'it_IT',
        files: [
            'css/styles-m',
            'css/styles-l',
            'css/print'
        ],
        dsl: 'less'
    },

 5、实时预览 LiveReload 配置

1)magento目录安装livereload插件

npm install -g livereload 

2)下载livereload.js 到magento目录

直接下载 livereload.js  或 开源网站下载 https://github.com/livereload/livereload-js

3)在模板中加载livereload.js

在模板目录创建 <所有者\模板名称\layout02\>Magento_Theme\layoutdefault_head_blocks.xml文件

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <script src="http://magento:35729/livereload.js" src_type="url" />
    </head>
</page> 

4)关闭 Magento_Csp

关闭magento_CSP 防止js被禁用 

php bin/magento module:disable Magento_Csp

5)开启grunt监控 

 注意:grunt exec需要管理员权限

grunt clean && grunt exec:name_02 && grunt less:name_02 && grunt watch

在vs code 执行,可以在magento目录创建 grunt_run.bat 文件

@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else (goto gotAdmin)
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
grunt clean && grunt exec:martfury_02 && grunt less:martfury_02 && grunt watch

打开 TERMINAL 输入 ./grunt_run 进行调用

6)安装浏览器插件

chrome插件 其他浏览器,看官网http://livereload.com/extensions/

注意:实心点为开启状态,调试网站用http://127.0.0.1 打开,不要用ssl https://127.0.0.1

现在修改样式保存后就会自动刷新页面了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值