首页
新闻资讯
产品中心
技术相关
VUE
Typecho
前端技术
留言
友链
统计
关于
Search
1
vue3+vite+ts使用@通过import导入ts文件和vue文件报错问题的解决
785 阅读
2
光伏发电工程设计概算软件
784 阅读
3
vue3安装配置eslint及遇到的坑
324 阅读
4
Typecho插件开发(一)
294 阅读
5
Vite初始化项目报错:Install for [ ‘create-vite-app@latest‘ ] failed with code 1
274 阅读
登录
/
注册
Search
标签搜索
vue
Typecho
Typecho插件开发
风电概算
光伏概算
经济评价
Typecho主题Joe
付费阅读
vue3
lnsoft
累计撰写
19
篇文章
累计收到
3
条评论
首页
栏目
新闻资讯
产品中心
技术相关
VUE
Typecho
前端技术
页面
留言
友链
统计
关于
2022-07-21
Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime
Node版本升级成功了,npm run dev 经果一大堆错误报出来。Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime。 应该是node-sass 和 当前的node版本不匹配,那就让他匹配吧,卸载重装,大家都知道安装node-sass 真的太不容易,直接装可能不会成功,那就用淘宝镜像吧。卸载当前版本node sassnpm uninstall --save node-sass重新安装node sass 还是试一下。看能成功不。npm install --save node-sass如果还不成功,设置淘宝镜像npm config set registry http://registry.npm.taobao.org再装一次 问题解决。cnpm install node-sass@latestnpm run dev的问题解决,npm run build 又出问题Warning: Accessing non-existent property 'cd' of module exports inside circular dependency升级shelljs到 v0.8.4 即可解决升级shelljs:npm install shelljs@0.8.4 --save还不行,那就这样,报错的中提示看到的npm install shelljs@0.8.4 --save --legacy-peer-deps如果还报错,那就把package-lock.json删除了,不敢删除那就改个名,再试。成功了!
2022年07月21日
66 阅读
0 评论
0 点赞
2022-07-19
Vite初始化项目报错:Install for [ ‘create-vite-app@latest‘ ] failed with code 1
Vite3刚发布没几天,第一次使用Vite3构建Vue项目。在命令行模式输入npm init vite-app helloword然后回车就报错上网查了半天,有的说是用户名有空格,有的说是Node的缓存目录中有空格,看提示信息,感觉更像是缓存目录有空格。最后一行Install for [ 'create-vite-app@latest' ] failed with code 1还有这个提示,我就试着去安装一下。安装成功了,接着再试下初始化项目。也成功了。然后命令行进行helloword目录npm install、安装完成后npm run dev。最后浏览器运行虽然最终跑起来了,但npm install create-vite-app@latest已被废弃,按它的提示继续npm init @vitejs/app出来的结果也是补废弃,用npm init vite代替。那就继续命令行npm init vite。最终成功。 这中间还把node升级到16.16版本,升级完成后npm -v查看版本,是升级成功了,但又警告npm WARN config global --global, --local are deprecated. Use --location=global instead.找到D:\Program Files\nodejs\npm.cmd文件,将文件里的 prefix-g 改为 prefix --location=global 最后保存这个文件npm.cmd,又要权限。选中文件,右键属性-安全设置用户权限,最终成功保存。
2022年07月19日
274 阅读
0 评论
0 点赞
2022-07-19
在vue2全局安装的基础上安装vue3
之前开发的项目都是用vue2做的,老项目也不打算升级vue3,但新项目准备启用vue3。这就要两个版本的vue共存。记录一下安装过程吧。 vue2是安装在d:\program files\nodejs\下,全局安装的。vue3就安装在d:\program files\vue3,建好vue3文件夹,以管理员身份进入命令行模式。输入npm i @vue/cli完成安装,在目录node_modules.bin\下找到vue和vue.cmd改成vue3、vue3.cmd。接着设置环境变量我的电脑-属性-高级系统设置-环境变量-新建 输入VUE3 变量值选择浏览目录,选择到刚才的安装目录下\node_modules.bin然后确定。 系统变量中双击Path,变辑环境变量中新建%VUE3%。然后确定,重启计算机。查看安装的版本。
2022年07月19日
41 阅读
0 评论
0 点赞
2022-07-15
Typecho路由流程
Typecho目录结构admin放后台的页面文件install安装时用的sql文件usr主题、插件、上传的文件var工具类confing.inc.php 定义常量 自动加载类 数据库配置index.php 入口文件install.php 安装流程{callout color="#f0ad4e"} 1、入口文件index.php 会首先检测有没有安装,没有安装的话走安装流程,安装过程中有一点需要注意数据库名那里需要带上前面的前缀且数据库要手动先建好。{/callout}{callout color="#f0ad4e"} 2、如果已经安装好了,会加载config.inc.php文件,主要是定义根目录、插件目录、主题目录、后台目录、自动加载类、配置数据库。{/callout} {callout color="#f0ad4e"} 3、组件初始化Init.php {/callout}{callout color="#f0ad4e"} 4、执行函数定义了类别名、Options组件初始化。主要工作是加载数据库表options,读出相关的配置比如主题、路由等,首次读出路由会对路由进行解析交保存到数据库,方便下次直接使用{/callout}{callout color="#f0ad4e"} 5、再回到Init的执行函中 初始化路由也就是把刚才解析得到的$this->routingTable[0]付值给路由$routingTable,接着初始化插件时区等。完成组件的初始化工作。 {/callout}{callout color="#f0ad4e"} 6、回到index.php中 进行路由的分发工作, {/callout}{callout color="#f0ad4e"} 7、取到当前的$pathInfo信息 和 路由匹配,匹配成功得到widget组件和参数,然后创建widget、构造、初始化参数 后进行执行函数,执行函数会找到主题目录,并对主题初始化。 {/callout}{callout color="#f0ad4e"} 8、路由继续如果有action,则执行action,这里action是render函数,输出视图,找到需要输出的文件,最后输出模板文件。 {/callout}
2022年07月15日
64 阅读
0 评论
0 点赞
Typecho插件的调用流程
在后台控制台插件页面,点击启用,是通过var\Widget\Plugins\Edit类的active($pluginName)方法来处理的。 首先获取到插件文件路径$pluginFileName和类名$className,然后载入插件require_once $pluginFileName; 调用用户定义的函数call_user_func([$className, 'activate']);我们在Plugin.php文件中有定义activate。 给挂载点付值及设置回调的方法。我们以\Typecho\Plugin::factory('index.php')->begin = array(__CLASS__,"Test")为例。 插件类有魔术方法__set(string $component, callable $value),当给不存在的一个属性付值时会调用它。完成插件句柄及回调的设置工作。调用完成后,将插件信息序列化付值给value,名称是plugins,最后保存到数据库表options中。接着看是如何调用的,在Typecho入口index.php中 \Widget\Init::alloc();进行初始化组件,会进行Db、User、Options、Cookie、Router、Plugin等类的初始化工作。Options的执行函数中会把表options的记录读出来并反序列化再付值给它$this->plugins = unserialize($this->plugins); 在Init组件执行过程中对组件初始化 完成后在index.php中 通过 \Typecho\Plugin::factory('index.php')->begin()调用。同样是魔术方法__Call。在其中调用用户自定义的方法call_user_func_array($callback, $args); 最后在日志文件中打印出了我是插件测试。
2022年07月14日
64 阅读
0 评论
1 点赞
1
2
3