vue.js - laravel-elixir 3: .browserify()의 컴파일된 파일에서 종속 파일을 찾을 수 없다고 보고했습니다. 정의되지 않음
淡淡烟草味
淡淡烟草味 2017-05-16 16:50:14
0
1
686
으아악

사용 laravel-elixir中自带的browserify编译vue, vue-router, vue-resource成功输出js文件后,使用时报错:Uncaught TypeError: Cannot read property 'use' of undefined

컴파일된 js 파일의 일부는 다음과 같습니다.

으아악 으아악

질문:
위에 컴파일된 두 파일은 require配置是一样的,index.js这个可以使用,而new.js这个则报错,通过console.log()分别查看各个依赖,new.js里的Vueundefined에 종속되어 있습니다. 가능한 이유가 무엇인지, 문제가 어디에 있는지 어떻게 알 수 있나요?

사용 방법vue这些依赖可以只需加载一次,不必一起打包在文件里,我配置了browser-shim, 작동하지 않는 것 같습니다. 제가 잘못 사용하고 있는 것인지 모르겠습니다.

으아악
淡淡烟草味
淡淡烟草味

모든 응답(1)
某草草

드디어 문제의 원인을 찾았습니다(표현:울음).
index.jsVue는 정상적으로 사용할 수 있지만 new.js'는 s Vue정의되지 않았습니다. 여러 번 require할 수는 없지만 VueRouter, VueResource도 require가 있는데 가능하다는 걸 곰곰히 생각해 보니 package.jsonVue를 전역 변수로 사용했기 때문에 문장을 변경하고 제거하고 다시 컴파일한 결과 성공한 것으로 확인되었습니다(반지식==의 부작용이군요). 제거된 설정은 다음과 같습니다: index.js里的Vue可正常使用,而new.jsVue则是undefined,猜测难道它不可以多次require,但是VueRouter, VueResource也重复require了,却是可用的,思索再三,想起可能是因为package.json里写了一句把Vue设置成全局变量,于是将该句去掉,再次编译,发现成功了(真是一知半解的副作用呀==)。去掉的那个设置如下:

"browserify-shim": {
    ...
    "vue": "global:Vue"
}

PS:感谢朋友 Vicent Ye 으아악

PS: 문제를 찾는 데 도움을 준 내 친구 Vicent Ye에게 감사드립니다. 🎜
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿