微信小程序 JS 能调用 wxs 脚本吗?

微信小程序 JS 能调用 wxs 脚本吗?

个人实践的答案是:不能。

实践

来测试一下 javascript 调用 wxs 模块:
js文件中:
const g = require('../global.wxs')

运行报错:
thirdScriptError 
 sdk uncaught third Error 
 module "pages/global.wxs.js" is not defined 
 Error: module "pages/global.wxs.js" is not defined

引入的时候就报错了。


查看官方文档

看看文档

WXS

WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。


  1. wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
  2. wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。
  3. wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。
  4. wxs 函数不能作为组件的事件回调。


从文档来看,wxs 只是为了处理 WXML 模板中的业务,而且还不能处理WXML中的事件回调。
那 WXS 用来做什么呢?
我个人的理解:
1、用在 WXML 中做 filter 格式化(比如格式化日期)
2、用在 WXML 中做 if 判断等等