TypeScript를 사용할 때 단일 파일 구성 요소에서 Vue를 가져오는 방법
단일 파일 컴포넌트가 있으며 Vue를 Import해야 합니다.
<script lang="ts">
import Vue from 'vue'
import Component from 'vue-class-component'
...
@Component({...})
export class Comp extends Vue {...}
브라우저에서 vue.js를 모듈로 Import합니다.
<script type="module" src="module/vue/vue.js"></script>
에러가 납니다.
Uncaught TypeError: Class extends value undefined is not a constructor or null
내부 어딘가에서eval()
어떤.vue-cli-service --target lib
에 의해 생성됩니다.SFC도 모듈로 로드합니다.
<script type="module" src="module/comp/comp.js"></script>
회피책으로 Import를 추가하려고 했습니다.comp.js
:
import Vue from '/module/vue/vue.js'
import Component from '/module/vue-class-component/vue-class-component.js'
(function webpackUniversalModuleDefinition(root, factory) {
...
그건 도움이 안 돼요
웹 서버에서 사용하는 경로에 Import를 다시 연결하려면 어떻게 해야 합니까?웹 팩 옵션을 확인했지만 찾을 수 없었다.resolve
웹팩이 패키징하는 동안 물건을 찾는 데 도움이 될 것 같습니다."출력 개서" 같은 옵션이 필요합니다.
공통 모듈이 아닌 ES 모듈을 사용하고 있습니다.JS 또는 요구JS.tsconfig.json
:
compilerOptions: {"target": "ES2016", module: "ES2015" }
업데이트 최종 경로를 .vue 파일에 넣고 사용하려고 했습니다.configureWebpack.resolve.alias
에vue.config.js
Vue 컴파일러가 모듈을 찾을 수 있도록 합니다만, 그것도 동작하지 않습니다.
vue.config.js
:
module.exports = {
runtimeCompiler: true,
configureWebpack: {
externals: [
'module/vue/vue',
'module/vue-class-component/vue-class-component',
],
resolve: {
alias: {
'module/vue/vue': 'vue/dist/vue.esm.js',
'module/vue-class-component/vue-class-component': 'vue-class-component/dist/vue-class-component.esm.js'
}
},
}
}
comp.vue
:
...
import Vue from './module/vue/vue'
import Component from 'module/vue-class-component/vue-class-component'
줄 뿐이다
ERROR in .../src/comp.vue
16:17 Cannot find module 'module/vue/vue'.
개요
추가할 수 있습니다.configureWebpack
에서vue.config.js
웹 팩 구성을 수정하려면 웹 팩을 사용하여 이 문제를 해결할 수 있습니다.externals
.
외부 처리
외부에서는 외부 라이브러리를 Import할 수 있습니다.
웹 팩 설정에서 다음과 같은 행을 추가합니다.
렛츠lodash
예를 들어 Import 변수와 글로벌 변수가 다르기 때문입니다.
// webpack.config
externals: {
'lodash': '_'
}
_
글로벌 변수 웹 팩이 붙잡을 수 있고lodash
공개하는 Import입니다.
이쯤에서 이런 걸 할 수 있어요.
import * as lodash from 'lodash'
취급 유형 검사
이 방법으로 유형 검사를 처리하려면npm install @types/...
TypeScript는 해당 Import의 유형을 선택합니다.
vue.config.js의 웹 팩 수정
여기에 기재되어 있습니다.단, vue.config.js 파일에 다음 내용을 추가합니다.
// vue.config.js
module.exports = {
configureWebpack: {
externals: {
'lodash': '_'
}
}
}
언급URL : https://stackoverflow.com/questions/57971988/how-to-import-vue-in-single-file-component-when-using-typescript
'programing' 카테고리의 다른 글
소켓 접속과 읽기 타임아웃의 차이점은 무엇입니까? (0) | 2022.08.21 |
---|---|
C++ 규격에 따라 합법인지 아닌지를 나타내는 첨자를 사용하여 단일 어레이 요소의 주소를 취득할 수 있습니까? (0) | 2022.08.21 |
Vuex 모듈 게터 및 돌연변이에 액세스하는 방법 (0) | 2022.08.18 |
Java에서 String이 불변인 이유는 무엇입니까? (0) | 2022.08.18 |
BigDecimal setScale 및 라운드 (0) | 2022.08.18 |