2017-02-02 28 views
2

Vue.jsをTypeScriptで使用しようとしていて、this repoに出くわしました。TypeScriptファイルでVueコンポーネントをインポートする

Vue単一コンポーネントファイルをTypeScriptからインポートする際にエラーが発生することがありました。私はVisual Studioコードを使用しています。下記のエラーをご覧ください。

main.ts:

// The Vue build version to load with the 'import' command 
// (runtime-only or standalone) has been set in webpack.base.conf with an alias. 
import * as Vue from 'vue' 
import App from './App' 

/* eslint-disable no-new */ 
new Vue({ 
    el: '#app', 
    template: '<App/>', 
    components: { App } 
}) 

VSコードのエラー:

1 ERROR 
• main.ts 
[ts] Cannot find module './App'. (4 17) 

Issue of importing App.vue in main.ts with visual studio code

+0

例をコードとして追加してください。 – toskv

+0

同じフォルダ内にapp.tsがありますか? –

+0

そのapp.tsのapp.vueではありません。私が提供したgithub repoをチェックアウトする –

答えて

0

チェックアウトvue-class-component。基本的にはappendTsSuffixTo: [/\.vue$/]ts-loaderのオプションに、esModule: truevue-loaderのオプションに追加する必要があります。

// webpack.config.js 

{ modules: { rules: [ 
    { 
    test: /\.ts$/, 
    exclude: /node_modules|vue\/src/, 
    loader: "ts-loader", 
    options: { appendTsSuffixTo: [/\.vue$/] } 
    }, 
    { 
    test: /\.vue$/, 
    loader: 'vue-loader', 
    options: { 
     esModule: true 
    } 
    } 
]}} 

私は他のものを見逃している可能性があります。

0

VUE-CLIを使用する場合は、次のように、VUE-ローダーconf.jsを適応させる:

var utils = require('./utils') 
var config = require('../config') 
var isProduction = process.env.NODE_ENV === 'production' 

module.exports = { 
    loaders: utils.cssLoaders({ 

    sourceMap: isProduction 
     ? config.build.productionSourceMap 
     : config.dev.cssSourceMap, 
    extract: isProduction, esModule: true 
    }), esModule: true 
} 
1

https://alexjoverm.github.io/2017/06/28/Integrate-TypeScript-in-your-Vue-project/

から、あなたのエディタは「から行のインポートアプリケーションで叫んされている場合は./

declare module "*.vue" { 
    import Vue from 'vue' 
    export default Vue 
} 
01:アプリケーションモジュールを見つけることない程度main.jsファイル内のApp」、あなたは以下の内容で、プロジェクトへの VUE-shim.d.tsファイルを追加することができます

と書き込み:代わりに

import App from './App' 
0

import App from './App.vue'

をFYI、あなたが生成することができます。 tsconfigでdeclaration generateをオンにして、コンポーネントのd.tsファイルを作成します。 json、ソースディレクトリにコピーして、あなたが持っているものを参照してください!

関連する問題