(끝을 참조하십시오에 대한 왜 이것은 속의 https://stackoverflow.com/questions/950087)
Javascipt+Vue+웹팩+vue-loader 멍청한 놈...에 걸림돌의 단순한 것들!
나는응용 프로그램을 만들었습니다.vue
있는 템플릿:
<template>
<div id="app">
<login v-if="isTokenAvailable()"></login>
</div>
</template>
나는 선언isTokenAvailable
방법에서 정상적인 방법에 대한 Vue 내부 methods. 그것이 기능을 사용하는 내가 쓴에 별도js
file:
<script>
import * as mylib from './mylib';
export default {
....
methods:{
isTokenAvailable: () => {
return mylib.myfunc();
}
}
}
</script>
mylib
의 시작 부분은 다음과 같습니다.
import models from './model/models'
import axois from 'axios'
export default function() {
// functions and constants
}
면 나는 실행하는 프로젝트를 얻을 경고:
export 'myfunc' (imported as 'mylib') was not found in './mylib'
수 I'm 지 가져오기 또는 선언 javascript 모듈을 올바르게 하지만...을 할 수 있는 작업을 수행하는 방법에는 여러 가지 그것으로 추가의 복잡성을 범위에 Vue,나는'm 지"권"그것을 할 수있는 방법?
사전에 감사합니다
왜 이것이't 속의:https://stackoverflow.com/questions/950087
지 않't 는 것을 문제를 해결,구체적으로의 컨텍스트에서 vuejs.
나이:
<script>
const mylib = require('./mylib');
...
</script>
기능으로 수정:로 수출하고 있습니다.다=function()
**해야 나는 일부 다른 종속성을 위해 이을 작동하는가? 이 나오기 때문에 다른 오류가:
[Vue warn]: Error in render function:
TypeError: mylib.myfunc is not a function
내가 원하는 데이터를 가져올로에서 구성 요소src/mylib.js
:
var test = {
foo () { console.log('foo') },
bar () { console.log('bar') },
baz () { console.log('baz') }
}
export default test
In my.Vue 파일에 나는 단순히 수입된시험
에서src/mylib.js
:
<script>
import test from '@/mylib'
console.log(test.foo())
...
</script>
의 몇 시간 후에는 장난 내가 결국,작동 뭔가 부분적으로 응답에서 유사한 문제는 여기:https://stackoverflow.com/questions/950087/how-do-i-include-a-javascript-file-in-another-javascript-file
하가 있었 가져오기는 속이고 그것의 나머지 부분까지:
.vue
파일<script>
var mylib = require('./mylib');
export default {
....
mylib
exports.myfunc = () => {....}
실제 문제를 내는 경우(나는't 었다고 생각하는 관련!) 었mylib.js
그 자체를 사용하여 다른 종속성입니다. 이로 인해 발생하는 오류하는 것과 함께 할 수 없이 아무도 없었다 transpiling 오류가에서웹팩
그러나 어쨌든 난:
import models from './model/models'
import axios from 'axios'
이 작품은 그래서 나는'm 를 사용하지 않는mylib 에서
a.vue
구성 요소입니다. 그러나 빨리 내가 사용하는mylib
,거기에서 설명한 오류이 문제가 발생합니다.
나는 변경:
let models = require('./model/models');
let axios = require('axios');
고 모두 예상대로 작동합니다.