mvvm框架--san.js 学习笔记(一)

最近,因为公司项目须要,使用百度mvvm框架san开发了一个兼容ie6的小项目。san是mvvm框架,和vue有一些相似。和vue相比,优点是能兼容ie6,但没有vue那么简单易用,学习san最好有一些mvvm框架的基础。固然最让人头疼的是社区,如今随便一搜,少有关于san的文章(除了官方文档),这对初学者来讲是很难的。当初我本身好奇,尝试用san作了一个小型项目,这里记录一下。若是你也想尝试一下,也许个人文章会对你有一些帮助。html

我将从零开始,用san作一个demo,作一个记录。好,直接开始,作一个简单的。

Quik start 项目结构

图片描述

一、index.htmlvue

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>mySan</title>
</head>
<body>
    <script src="https://unpkg.com/san@latest"></script>
    <script>
        const MyApp = san.defineComponent({
            template: `
                <div>
                    <p>hello, I am {{name}}!</p>
                </div>
            `
        });

        let app = new MyApp({
            data: {
                name: 'yongchaoo'
            }
        });
        myApp.attach(document.body);
    </script>
</body>
</html>

二、 package.jsonnode

{
  "name": "start",
  "version": "1.0.0",
  "description": "demo by yongchaoo",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "browser-sync": "^2.26.0",
    "http-proxy-middleware": "^0.19.0"
  }
}

三、app.jsgit

var browserSync = require('browser-sync').create();
var proxy = require('http-proxy-middleware')
var devApi = "http://www.api.com/" // 后台api

var middleware = proxy('/api/**', { // **:匹配全部请求路径
    target: devApi, 
    changeOrigin: true, 
    pathRewrite: {'^/api' : '/api'}}); //重写路由

function Server() {
    var bs = browserSync.init({
        port: 8001,
        server: {
            directory: true,
            baseDir: ['./'],
        },
        open: true,
        middleware: [middleware],
        startPath: '/index.html'
    })
    browserSync.watch('**').on('change', browserSync.reload); // 添加监听,项目文件改动保存,浏览器自动刷新
}
Server();

get start

$ cd start

$ npm i

$ node app.js

本例:源码github

感兴趣的继续关注,有时间再写。npm

相关文章
相关标签/搜索