VueJS: Sử dụng trong môi trường không phải Node.js


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Việc xây dựng mặc định vue-server-renderer giả định một môi trường Node.js, làm cho nó không sử dụng được trong các môi trường JavaScript thay thế như PHP V8J hoặc Oracle Nashorn. Ở phiên bản 2.5+ chúng ta đã chuyển một bản build trong vue-server-renderer/basic.js mà phần lớn là môi trường bất khả tri, là môi trường làm cho nó có thể sử dụng trong các môi trường được đề cập ở trên.

Đối với cả hai môi trường, đầu tiên cần chuẩn bị môi trường bằng cách mocking các đối tượng global và processprocess.env.VUE_ENV được đặt thành "server" và process.env.NODE_ENV đặt thành "development" hoặc "production".

Trong Nashorn, nó cũng có thể cần cung cấp một polyfill cho Promisehoặc setTimeout sử dụng các bộ định thời nguyên gốc của Java.

Sử dụng ví dụ trong php-v8js:

<?php
$vue_source = file_get_contents('/path/to/vue.js');
$renderer_source = file_get_contents('/path/to/vue-server-renderer/basic.js');
$app_source = file_get_contents('/path/to/app.js');

$v8 = new V8Js();

$v8->executeString('var process = { env: { VUE_ENV: "server", NODE_ENV: "production" }}; this.global = { process: process };');
$v8->executeString($vue_source);
$v8->executeString($renderer_source);
$v8->executeString($app_source);
?>

// app.js
var vm = new Vue({
  template: `<div>{{ msg }}</div>`,
  data: {
    msg: 'hello'
  }
})

// được hiển thị bởi `vue-server-renderer/basic.js`
renderVueComponentToString(vm, (err, res) => {
  print(res)
})
» Tiếp: API tham khảo
« Trước: Streaming
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!