为了账号安全,请及时绑定邮箱和手机立即绑定

控制台报错 layer is not a constructor ,该节未通过,求帮助

控制台显示如下

http://img1.sycdn.imooc.com//593a5bb30001447803900096.jpg

正在回答

8 回答

import { layer } from...

加一个大括号试试

0 回复 有任何疑惑可以回复我~
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()

都可以

0 回复 有任何疑惑可以回复我~

“未成年面饼”传参的方法可行

1 回复 有任何疑惑可以回复我~

找到原因了, import 命名不要和 引入的文件里方法名一样,在下面的 new 一个对象时就不会报错了

2 回复 有任何疑惑可以回复我~
#1

ymlr_情

哪个下面 new 一个对象?有点不明白
2017-08-16 回复 有任何疑惑可以回复我~
#2

fatbin

顶一个,话说这究竟是js的锅还是webpack的锅?
2017-08-22 回复 有任何疑惑可以回复我~
#3

fatbin 回复 ymlr_情

你在app.js里不是要new一个对象吗。
2017-08-22 回复 有任何疑惑可以回复我~

我也在这里出问题,他能够输出 layer,是一个方法,但使用 new layer 就说他不是一个 模块,未定义

0 回复 有任何疑惑可以回复我~

const App = function(layer) {

  var dom = document.getElementById('app');

   var layer = new layer();

  dom.innerHTML = layer.tpl;

}


new App(layer);

传参数后可以 你试试看

5 回复 有任何疑惑可以回复我~

老师 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()

 

3 回复 有任何疑惑可以回复我~

导出导入的时候有没有写错?export default layer;import Layer from './components/layer/layer.js';

0 回复 有任何疑惑可以回复我~
#1

Mr_Blue_001 提问者

改了还是不行
2017-06-10 回复 有任何疑惑可以回复我~
#2

灰太狼008 回复 Mr_Blue_001 提问者

清除浏览器的缓存试一下,经过测试是可行的。
2017-07-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

控制台报错 layer is not a constructor ,该节未通过,求帮助

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信