2016-12-26 81 views
0

我想彙總js來打造我的打字稿項目,但我不知道如何生成定義文件以及如何將它們自動包含在dist文件中。使用匯總生成打字稿定義文件

有人會知道該怎麼做嗎?

這裏是我的rollup.config.js

import typescript from "rollup-plugin-typescript"; 
import handlebars from "rollup-plugin-handlebars"; 
import babel from 'rollup-plugin-babel'; 

export default { 
    entry: 'src/generator.ts', 
    format: 'cjs', 
    plugins: [ 
    typescript(), 
    handlebars(), 
    babel() 
    ], 
    dest: 'dist/bundle.js' 
}; 

我使用的是默認的TS配置但這是與報關單上= TRUE。

編輯:

使用同樣努力的WebPack:

module.exports = { 
     context: __dirname + '/src', 
     entry: { 
     index: './generator' 
     }, 
     output: { 
     path: __dirname + '/build', 
     publicPath: '/', 
     filename: 'generator.js' 
     }, 
     resolve: { 
     root: __dirname, 
     extensions: ['', '.ts', '.js'] 
     }, 
     module: { 
     loaders: [ 
      { test: /\.ts$/, loaders: ['ts-loader'], exclude: /node_modules/ }, 
      { test: /\.hbs/, loaders: ['handlebars-loader'], exclude: /node_modules/ } 
     ] 
     } 
    } 

Tsconfig:

{ 
     "compilerOptions": { 
     "target": "es5", 
     "module": "commonjs", 
     "declaration": true, 
     "outDir": "build" 
     }, 
     "exclude": [ 
     "node_modules", 
     "dist", 
     "build" 
     ] 
    } 

的產生d.ts看起來是這樣的:

import { ExportPageModel } from './models/page-model'; 
    export declare type ExportType = 'text' | 'html'; 
    export * from './models/page-model'; 
    export declare namespace Generator { 
     function generateHtml(page: ExportPageModel): string; 
     function generateText(page: ExportPageModel): string; 
    } 

但在我使用該軟件包的應用,實在找不到發電機...

import { ExportPageModel, Generator } from 'emlb-generator'; 

發生器是不確定的,但自動完成正常工作,所以我無法找到問題出在哪裏:(

Generator.generateHtml({ 
... 
}); 

回答

0

打字稿定義文件使用匯總

強烈建議您只使用tsc進行編譯。 最終申請捆綁的儲備彙總。

對於實施例中typestyle結帳構建https://github.com/typestyle/typestyle/blob/2349f847abaaddaf3de4ca83f585d293b766959e/package.json#L10

+0

確定,但使用車把IM作爲外部依賴性和如何模板將管理使用TSC? – BkSouX

+0

當我試圖建立使用TSC時,它找不到模板: 無法找到模塊'./templates/html/html.structure.template.hbs' – BkSouX