2017-07-27 38 views
1

webpackでVueJsを使用してプロジェクト内の資産フォルダにあるjav3ファイルmymain.min.jsをインクルードして初期化するにはどうすればよいですか?Vue.jsに外部Javascriptファイルをロードする

Webpack.base.conf

resolve: { 
    extensions: ['.js', '.vue', '.json'], 
    alias: { 
     'vue$': 'vue/dist/vue.esm.js', 
     '@': resolve('src'), 
     'sauJs': path.resolve(__dirname, '../src/assets/mymain.min.js'), 
    } 
    }, 

また、私はあなたが実際に何を決意誤解されているCannot GET /src/assets/mymain.min.js

+0

したがって、外部ファイルをプルするオプションはありません'NPM'からローカルに取り込み、メインファイルの前にスクリプトタグとして使用するか、コードに織り込みます(小さければ)。 Webpackは外部ファイルを取り込むことは意図されていません。私はあなたがそれを悪用する可能性があると確信していますが、おそらくもっと良い方法があると確信しています。 –

+0

私はこれをindex.htmlに追加しようとしましたが、GETできません/src/assets/mymain.min.js – ottz0

+0

私が今説明した4つの方法のどれを試しましたか? –

答えて

2

を取得しかし、私のindex.htmlページへ<script src="src/assets/mymain.min.js"></script>を追加しようとしています。これは実際に一緒にバンドルするJavaScriptコードを置く場所ではありません。それはあなたが使用している場合ということになります

'@': resolve('src'), 

:あなたがそうのような解決の別名を指定

require('@/test') 

それが解決されます:

require('src/test') 

この親戚のパスをどこにでも置かないようにするのに役立ちます。また、長いパスを入力すると、すべてのタイプの裾。

ウェブパックファイルには、uncompiled JavaScriptファイルを指定するentryプロパティが必要です。あなたがあなたのバンドルに含めるのJavaScriptファイルをインポートすることができ、あなたのmain.jsファイルで

module.exports = { 
    entry: './example/main.js', 
} 

main.js

import Vue from 'vue'; 
// Or: 
const vue = require('vue') 
// Or(.js extension can be omitted): 
import MyFile from './src/MyFile.js' 

他のアプローチは、別のentryプロパティを指定することで、何かが私は個人的に行っていません。

これは、この回答の範囲外の方法です。あなたはより多くの情報が必要な場合は、ドキュメントをチェックアウトする必要があります:

https://webpack.js.org/concepts/

あなたが複雑に対処したくない場合は代わりに、これはあなたの人生を容易にすることができます:

https://symfony.com/blog/introducing-webpack-encore-for-asset-management

か:

https://github.com/JeffreyWay/laravel-mix

+0

ありがとうございました。私はmain.jsファイルにconst SauJs = require( './ assets/main')とVue.use(SauJs)を使用し、そのファイルを.eslintignoreに追加しました – ottz0

関連する問題