2017-02-09 161 views
1

.ts文件下面的語句:避免需要聲明的transpiled的JavaScript

import {jquery as $} from 'jquery'; 
import {socketio} from 'socket.io'; 

得到transpiled到:

var jquery_1 = require("jquery"); 
var socket_io_1 = require("socket.io"); 

現在瀏覽器將無法識別require。什麼是出路?我的tsconfg.json看起來像:

{ 
    "compilerOptions": { 
     "target": "es5", 
     "outDir": "./dist", 
     "allowJs": true, 
     "module": "commonjs", 
     "noEmitOnError": false, 
     "noImplicitAny": false, 
     "strictNullChecks": true 
    }, 
    "include": [ 
     "index.ts", 
     "./lib/**/*", 
     "./public/**/*" 
    ] 
} 

是否需要改變某些內容?

+1

使用[AMD模塊](https://www.typescriptlang.org/docs/handbook/modules.html)。 –

+0

通常你會使用Webpack。 – loganfsmyth

+0

@loganfsmyth你能幫我一個例子。我試過'browserify',但它會拋出一個運行時錯誤,說它找不到某個模塊。 –

回答

0

我用browserify將最終文件打包成瀏覽器兼容的javascript。

由browserify說例如 Error: Cannot find module 'bufferutil' from ..在這種情況下拋出
browserify input.js -o output.js 

有可能是錯誤的,各個模塊可從NPM安裝。