weex 部署npm run dev & npm run serve
程序员文章站
2022-05-13 17:18:44
...
之前的部署流程都是用weex compile
放nginx
,每次编译都会编译整个项目里的vue
文件或者单独编译某个文件,由于项目较大,可能还有多级文件夹的情况,这样哪怕单独编译文件,也会有compile
后目录的变化,也无法通过快捷的命令别名处理。
所以后面我开始尝试npm run dev & npm run serve
命令。
以上命令会由npm
自动开启服务器,默认8081
端口,修改了文件保存,就能看到效果了,比以上的nginx模式
好像要高档些。
但是我们的部署情况是依赖于一个weex.json
文件,所以这里我用python写了个脚本
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
import os.path
import sys
import socket
import json
jsFileInNginxPath = 'dist'
nginxWeexJsonFilePath = "weex.json"
def get_host_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
# reload(sys)
# sys.setdefaultencoding("utf-8")
pageDicts = []
weexJsonDict={}
jsFileInNginxPaths = []
for parent,dirnames,filenames in os.walk(jsFileInNginxPath):
for filename in filenames:
path = os.path.join(parent, filename)
if path.endswith('.js') and path.count('.web.js') <= 0:
jsFileInNginxPaths.append(path)
#写入weex.json
if jsFileInNginxPaths.count > 0:
localIP = get_host_ip()
baseUrl = "http://" + localIP + ":8080/"
for jsFileInNginxPath in jsFileInNginxPaths:
if jsFileInNginxPath.count('/include/') <= 0:
jsFileInNginxPath = 'http://' + localIP +':8081'+'/' + jsFileInNginxPath
jsFileName = os.path.basename(jsFileInNginxPath)
jsFileMD5 = 'ff'
pageDicts.append({"md5":jsFileMD5,"page":jsFileName,"url":jsFileInNginxPath})
weexJsonDict["pages"] = pageDicts
weexJsonDict["patch"] = {}
bundleZipFileMD5 = 'fs'
weexJsonDict["zip"] = {}
jsonStr = json.dumps( weexJsonDict, ensure_ascii=False, encoding='UTF-8')
with open(nginxWeexJsonFilePath, 'wt') as f:
f.write(jsonStr)
这样就会自动生成一个weex.json
的文件,客户端从这个文件就能找到相应的js页面了。
后续开发weex页面,就生成一次weex.json文件后,修改vue文件,保存,重新进入页面就能刷新了。
如果添加了vue文件,则需要重新运行脚本,然后客户端也得重启,下载最新的weex.json文件
推荐阅读
-
关于vue的npm run dev和npm run build的区别介绍
-
npm run dev的错误
-
关于vue的npm run dev和npm run build的区别介绍
-
npm run dev 报错 ERROR in Entry module not found: Error: Can't resolve './src' in
-
项目运行npm run dev浏览器始终报cannot get /
-
详解vuejs中执行npm run dev出现页面cannot GET/问题
-
npm run dev 启动错误:Module build failed: Error: No PostCSS Config found in:xxxxxxxxxxxxxx
-
解决vue项目运行npm run serve报错的问题
-
详解Vue项目在其他电脑npm run dev运行报错的解决方法
-
vue init初始化项目后 npm run dev报错 10% building modules 1/1 modules 0 activeevents