モジュールstuff.vueを見つけることができません。 /app2/components/stuff.vueVueJS typescriptですと単一ファイルコンポーネント:</p> <p>/src/app2/main.ts /src/app2/components/lib.ts /SRC:私は、単純なプロジェクト構造を持っている
webpack、vue-loader、およびts-loaderを使用します。
main.tsがあります
import Vue = require('vue');
import Component from './components/lib'
new Vue({
el: '#app2'
});
/src/app2/main.ts
のための1つのWebPACKのエントリでこれを構築しようとし、発生したエラーは次のとおりです。
ERROR in C:\temp\vuetest2\proj\src\app2\components\lib.ts
(2,25): error TS2307: Cannot find module './stuff.vue'.
ERROR in ./src/app2/main.ts
Module not found: Error: Can't resolve './components/lib' in 'C:\temp\vuetest2\proj\src\app2'
@ ./src/app2/main.ts 3:12-39
私はsrc/app2/components/lib.ts
にエントリポイントを変更した場合は、それビルドされます。 main.tsが構築されない理由について私は迷っている。 lib.tsの
内容:
import Vue = require('vue');
import Stuff = require('./stuff.vue');
let o = {
Stuff
}
let componentLibrary = {
components: o,
registerExternal: function(v:any) {
for(var k in o) {
v.component(o[k].name, o[k]);
}
},
registerInternal: function() {
for(var k in o) {
Vue.component(o[k].name, o[k]);
}
}
}
export default componentLibrary;
Stuff.vueは、単純な単一のファイルVUEコンポーネントです。あなたはgithubの上this PR上で参照することができ、あなたのwebpack.config.js
webpack2
{
test: /\.ts$/,
exclude: /node_modules|vue\/src/,
use: [{
loader: 'ts-loader',
options: {
appendTsSuffixTo: [/\.vue$/]
}
}]
},
この '新しいVueのように、あなたのmain.tsを変更するようにしてください({ エル: '#のAPP2'、 レンダリング:(H)=> H(コンポーネント) });'私が推測 'Component'がメインですコンポーネント –
webpackでコンパイルされません。あなたの提案は、私が知る限り、編集との違いはありません。 – lucuma
あなたはこれを理解したことがありますか? – pulekies