微信小程序数据绑定,导包出现了:
“SyntaxError: Cannot use import statement outside a module”
排查问题步骤记录,共勉
1.出现问题代码:
import {createStoreBindings} from "mobx-miniprogram-bindings"
import {store} from "../../store/store"
2.解决问题
- 2.1. 使用const {} = require(" ")代替import {} from ’ ’
//原代码:
import {createStoreBindings} from "mobx-miniprogram-bindings"
import {store} from "../../store/store"
//替换代码:
//没报错
const {createStoreBindings} = require("mobx-miniprogram-bindings")
//报"找不到文件或者变量"
const {store} = require("../../store/store")
注:const {} = require() 不能彻底解决问题,换种方法
- 2.2.点击详情(右上角),选择本地设置,将js编译成es5 选项 选中,重新编译下
3.结论:
在这篇文章中,我们了解了“SyntaxError:无法在模块之外使用 import 语句”的错误以及如何修复它
更具体描述:这是当您尝试在同一项目中混合使用 ESM 和 CommonJS 模块系统时引起的
要解决此问题:
1.您必须继续使用 CommonJS 模块系统并使用关键字require
2.整个项目完全切换到 ESM 模块系统并使用关键字import