


Detailed explanation of Grunt plug-in LiveReload to realize automatic page refresh (two options), gruntlivereload_PHP tutorial
Detailed explanation of Grunt plug-in LiveReload to realize automatic page refresh (two options), gruntlivereload
Option 1: grunt-livereload Chrome Plug-in
Advantages: Installation and configuration are simple and convenient.
Disadvantages: Need to cooperate with specified browser plug-ins (Firefox also has related plug-ins, IE you know).
1. 2 plug-ins need to be installed: grunt-contrib-watch, connect-livereload
Execute command:
Copy code The code is as follows:
npm install --save-dev grunt-contrib-watch connect-livereload
2. Install browser plug-in: Chrome LiveReload
3. Configure a web server (IIS/Apache), LiveReload needs to run in the local server environment (support for file:/// file path is not very good).
4. Modify the Gruntfile.js file:
module.exports = function(grunt) { // 项目配置(任务配置) grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), watch: { client: { files: ['*.html', 'css/*', 'js/*', 'images/**/*'], options: { livereload: true } } } }); // 加载插件 grunt.loadNpmTasks('grunt-contrib-watch'); // 自定义任务 grunt.registerTask('live', ['watch']); };
5. Execution: grunt live
When you see the following prompt, it means that the monitoring task has started:
Copy code The code is as follows:
Running "watch" task
Waiting...
6. Open our page, for example: http://localhost/
7. Click the ICON of the Chrome LiveReload plug-in again. At this time, the small dot in the center of the ICON circle becomes solid, indicating that the plug-in is executed successfully. At this time, you can change the website files and see if they are updated in real time?
Option 2: grunt-contrib-watch grunt-contrib-connect grunt-livereload
Advantages: Automatically build a static file server, no need to build a Web server on your own computer.
Does not require browser plug-in support (not currently limited to a specific browser).
There is no need to manually add livereload.js to the web page.
Disadvantages: For those who are new to it, the configuration is slightly complicated.
1. Install the 3 plug-ins we need: grunt-contrib-watch, grunt-contrib-connect, connect-livereload
Execute command:
Copy code The code is as follows:
npm install --save-dev grunt-contrib-watch grunt-contrib-connect connect-livereload
2. Modify the Gruntfile.js file:
module.exports = function(grunt) { // LiveReload的默认端口号,你也可以改成你想要的端口号 var lrPort = 35729; // 使用connect-livereload模块,生成一个与LiveReload脚本 // <script src="http://127.0.0.1:35729/livereload.js?snipver=1" type="text/javascript"></script> var lrSnippet = require('connect-livereload')({ port: lrPort }); // 使用 middleware(中间件),就必须关闭 LiveReload 的浏览器插件 var lrMiddleware = function(connect, options) { return [ // 把脚本,注入到静态文件中 lrSnippet, // 静态文件服务器的路径 connect.static(options.base[0]), // 启用目录浏览(相当于IIS中的目录浏览) connect.directory(options.base[0]) ]; }; // 项目配置(任务配置) grunt.initConfig({ // 读取我们的项目配置并存储到pkg属性中 pkg: grunt.file.readJSON('package.json'), // 通过connect任务,创建一个静态服务器 connect: { options: { // 服务器端口号 port: 8000, // 服务器地址(可以使用主机名localhost,也能使用IP) hostname: 'localhost', // 物理路径(默认为. 即根目录) 注:使用'.'或'..'为路径的时,可能会返回403 Forbidden. 此时将该值改为相对路径 如:/grunt/reloard。 base: '.' }, livereload: { options: { // 通过LiveReload脚本,让页面重新加载。 middleware: lrMiddleware } } }, // 通过watch任务,来监听文件是否有更改 watch: { client: { // 我们不需要配置额外的任务,watch任务已经内建LiveReload浏览器刷新的代码片段。 options: { livereload: lrPort }, // '**' 表示包含所有的子目录 // '*' 表示包含所有的文件 files: ['*.html', 'css/*', 'js/*', 'images/**/*'] } } }); // grunt.initConfig配置完毕 // 加载插件 grunt.loadNpmTasks('grunt-contrib-connect'); grunt.loadNpmTasks('grunt-contrib-watch'); // 自定义任务 grunt.registerTask('live', ['connect', 'watch']); };
5. Execution: grunt live
See the following prompt, indicating that the web server has been set up and the monitoring task has started:
Copy code The code is as follows:
Running "connect:livereload" (connect) task
Started connect web server on 127.0.0.1:8000.
Running "watch" task
Waiting...
Note: Before executing this command, if you have installed the LiveReload browser plug-in, it must be closed.
6. Open our page, for example: http://localhost:8000/ or http://127.0.0.1: 8000/
Note: The local server address opened here is the static file server address we just built through connect, instead of the Web server address you used to build your own using IIS or Apache.
The above is a detailed explanation of the Grunt plug-in LiveReload to realize automatic page refresh (two options) in this article. I hope you like it.

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

In PHP, use the clone keyword to create a copy of the object and customize the cloning behavior through the \_\_clone magic method. 1. Use the clone keyword to make a shallow copy, cloning the object's properties but not the object's properties. 2. The \_\_clone method can deeply copy nested objects to avoid shallow copying problems. 3. Pay attention to avoid circular references and performance problems in cloning, and optimize cloning operations to improve efficiency.

PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.

Key players in HTTP cache headers include Cache-Control, ETag, and Last-Modified. 1.Cache-Control is used to control caching policies. Example: Cache-Control:max-age=3600,public. 2. ETag verifies resource changes through unique identifiers, example: ETag: "686897696a7c876b7e". 3.Last-Modified indicates the resource's last modification time, example: Last-Modified:Wed,21Oct201507:28:00GMT.

In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP is a server-side scripting language used for dynamic web development and server-side applications. 1.PHP is an interpreted language that does not require compilation and is suitable for rapid development. 2. PHP code is embedded in HTML, making it easy to develop web pages. 3. PHP processes server-side logic, generates HTML output, and supports user interaction and data processing. 4. PHP can interact with the database, process form submission, and execute server-side tasks.

PHP has shaped the network over the past few decades and will continue to play an important role in web development. 1) PHP originated in 1994 and has become the first choice for developers due to its ease of use and seamless integration with MySQL. 2) Its core functions include generating dynamic content and integrating with the database, allowing the website to be updated in real time and displayed in personalized manner. 3) The wide application and ecosystem of PHP have driven its long-term impact, but it also faces version updates and security challenges. 4) Performance improvements in recent years, such as the release of PHP7, enable it to compete with modern languages. 5) In the future, PHP needs to deal with new challenges such as containerization and microservices, but its flexibility and active community make it adaptable.

The core benefits of PHP include ease of learning, strong web development support, rich libraries and frameworks, high performance and scalability, cross-platform compatibility, and cost-effectiveness. 1) Easy to learn and use, suitable for beginners; 2) Good integration with web servers and supports multiple databases; 3) Have powerful frameworks such as Laravel; 4) High performance can be achieved through optimization; 5) Support multiple operating systems; 6) Open source to reduce development costs.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

WebStorm Mac version
Useful JavaScript development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version
Recommended: Win version, supports code prompts!

Zend Studio 13.0.1
Powerful PHP integrated development environment