# 相关配置版本:
laravel 5.1 LTS
laravel-elixir 3
vue 1.0.26
vue-router 2.0.0
vue-resources 1.0.3
Gunakan laravel-elixir
中自带的browserify
编译vue, vue-router, vue-resource
成功输出js文件后,使用时报错:Uncaught TypeError: Cannot read property 'use' of undefined
Sebahagian daripada fail js yang disusun adalah seperti berikut:
var Vue = require("vue");
var VueRouter = require('vue-router');
var VueResource = require('vue-resource');
Vue.use(VueRouter);
Vue.use(VueResource);
gulpfile.js
// 局部
elixir(function(mix) {
mix.browserify('index.js', 'public/dist/js/index.js');
mix.browserify('new.js', 'public/dist/js/new.js');
});
Soalan:
Dua fail yang disusun di atas adalah bergantung kepada require
配置是一样的,index.js这个可以使用,而new.js这个则报错,通过console.log()
分别查看各个依赖,new.js
里的Vue
是undefined
Saya tidak tahu apakah sebab yang mungkin, atau bagaimana untuk mengetahui di mana masalahnya?
Cara menggunakan vue
这些依赖可以只需加载一次,不必一起打包在文件里,我配置了browser-shim
, tetapi ia nampaknya tidak berkesan. Saya tidak tahu sama ada saya salah menggunakannya atau sesuatu:
package.json
"browserify": {
"transform": [
"vueify",
"browserify-shim",
"stringify"
]
},
"browserify-shim": {
"bootstrap-sass": {
"depends": [
"jquery:jQuery"
]
},
"vue": "global:Vue"
}
Akhirnya menemui punca masalah (ungkapan: menangis)
Vue
dalamindex.js
boleh digunakan secara normal, manakalanew.js
' sVue
adalahundefined
Saya rasa ia tidak bolehmemerlukan
beberapa kali, tetapiVueRouter, VueResource
juga mengulangi <. kod>memerlukan , tetapi ia tersedia Setelah memikirkannya berulang kali, saya teringat bahawa ia mungkin kerana terdapat ayat dalampackage.json
yang menetapkanVue<.> sebagai pembolehubah global, jadi saya menukar ayat Mengalih keluarnya, menyusunnya semula, dan mendapati ia berjaya (apa kesan sampingan separuh pengetahuan ==). Tetapan yang dikeluarkan adalah seperti berikut:
index.js
里的Vue
可正常使用,而new.js
的Vue
则是undefined
,猜测难道它不可以多次require
,但是VueRouter, VueResource
也重复require
了,却是可用的,思索再三,想起可能是因为package.json
里写了一句把Vue
设置成全局变量,于是将该句去掉,再次编译,发现成功了(真是一知半解的副作用呀==)。去掉的那个设置如下:PS:感谢朋友
PS: Terima kasih kepada rakan sayaVicent Ye
rrreeeVicent Ye
kerana membantu saya mencari masalah. 🎜