2017-10-27 22 views
0

SharePointでSPFxフレームワークを使用しています。これにはtypescriptファイルがあります。私はアプリケーションでSPServices.jsとapp.js(カスタムjsファイル)を使用しています。 config.jsonファイルでは、私は以下のように使用しています:jsファイルをtypescriptのモジュールとしてインポートする方法

"externals": { 
    "jQuery":{ 
     "path":"node_modules/jquery/dist/jquery.min.js", 
     "globalName": "jQuery1" 
    }, 
    "AppScript":{ 
     "path":"/src/webparts/calendarEvents/app.js", 
     "globalName": "AppScript", 
     "globalDependencies": [ 
     "jQuery", 
     "SPServices"  
     ] 
    }, 
    "SPServices": { 
     "path": "/src/webparts/calendarEvents/jquery.SPServices.min.js", 
     "globalName": "SPServices" , 
     "globalDependencies": [ 
     "jQuery" 
     ] 
    } 
} 

私はそれが私の.TSで働いている構文の下に使用している場合は、私は、それらをインポートしたい

require('SPServices') 
require('AppScript') 

しかし、その代わりに、上記の構文のファイル私はこれらのファイルの中の関数にアクセスすることができます。それを行うためにInorderを使用しています。

import * as SPServices from 'SPServices'; 
import * as myScript from 'AppScript'; 

しかし、これらは機能しません。それはエラーを出す。

Resource "SPServices" not found in loader configuration of manifest for component "b052328a-ad75-4056-af7f-7bc8b3e795fc" (CalendarEventsWebPart) 

しかし、不思議なこと、それは同じラインimport * as SPServices from 'SPServices';は別.TSファイルで正常に動作しています。そのようなエラーはありません。私は本当にここで間違っていたものが混乱しています。

js、cssファイルなどのタイスクリプトにファイルを追加する際に混乱する理由は何ですか?

答えて

0

CommonJSモジュールを使用して機能をインポートする前に、SPServicesが記述されていました。これはjQueryを拡張することによって機能します。代わりにこれを試してみてください:

import * as jQuery from 'jQuery'; 
require('SPServices'); 

$().SPServices.doStuff(); 

は、このユースケースの詳細については、MicrosoftのドキュメントセクションLoading a library that has a dependency on another libraryを参照してください。

関連する問題