控制台显示如下
import { layer } from...
加一个大括号试试
import layer1 from './components/layer/layer.js' import './common/css/common.css'; const App = function () { let dom = document.getElementById('app'); let layer = new layer1(); dom.innerHTML = layer.tpl; } new App()
或者layer.js
import './layer.less' import tpl from './layer.html' export function layer() { return { name: 'layer', tpl: tpl } }
app.js
import { layer } from './components/layer/layer.js' import './common/css/common.css'; const App = function () { let dom = document.getElementById('app'); dom.innerHTML = layer().tpl; } new App()
都可以
“未成年面饼”传参的方法可行
找到原因了, import 命名不要和 引入的文件里方法名一样,在下面的 new 一个对象时就不会报错了
我也在这里出问题,他能够输出 layer,是一个方法,但使用 new layer 就说他不是一个 模块,未定义
const App = function(layer) {
var dom = document.getElementById('app');
var layer = new layer();
dom.innerHTML = layer.tpl;
}
new App(layer);
传参数后可以 你试试看
老师 app.js
import Layer from './componenets/layer/layer.js'
const App = function(){
var dom = document.querySelector("#app");
var layer = new Layer();
dom.innerHTML = layer.tpl;
}
new App()
导出导入的时候有没有写错?export default layer;import Layer from './components/layer/layer.js';