Tôi đã cố gắng thiết lập một dự án khôi phục bằng cách sử dụng kiểu chữ. Sau khi cố gắng khác nhau tôi đã có thể tạo ra một phiên bản làm việc bằng cách sử dụng "mô-đun: commonjs" trong tsconfig.jsonThiết lập TypeScript cho nút bằng cách sử dụng mô-đun = hệ thống không hoạt động
Tôi muốn sử dụng hệ thống - nhưng tôi đã không thể thiết lập nó với systemjs
boot.ts
import {AppServer} from './app';
var _appServer = new AppServer();
tsconfig.json
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules"
]
}
app.ts
/// <reference path="typings/restify/restify.d.ts" />
import {Server, Response, Request, createServer} from 'restify';
export class AppServer {
private server: Server;
constructor() {
this.init();
}
init() {
this.server = createServer();
this.server.get('/hello/:name', this.respond);
this.server.listen(8080,() => {
console.log('%s listening at %s', this.server.name, this.server.url);
});
}
respond(req: Request, res: Response, next: Function) {
res.send('hello ' + req.params.name);
next();
}
}
sử dụng "module": "system"
trong tsconfig.json, tôi nhận được kết quả như sau (ngay cả với import System = require('systemjs')
trong boot.ts):
➜ server git:(master) ✗ npm run server
> [email protected] server /Users/maquh/Development/02_Backgular/server
> node boot.js
/Users/maquh/Development/02_Backgular/server/boot.js:1
(function (exports, require, module, __filename, __dirname) { System.register(['./app'], function(exports_1) {
^
ReferenceError: System is not defined
at Object.<anonymous> (/Users/maquh/Development/02_Backgular/server/boot.js:1:63)
at Module._compile (module.js:425:26)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Function.Module.runMain (module.js:457:10)
at startup (node.js:138:18)
at node.js:974:3
Transpiled khởi động .js
System.register(['./app'], function(exports_1) {
var app_1;
var _appServer;
return {
setters:[
function (app_1_1) {
app_1 = app_1_1;
}],
execute: function() {
//System.import('./app.ts').
_appServer = new app_1.AppServer();
}
}
});
//# sourceMappingURL=boot.js.map
UPDATE: Tôi cũng đã cố gắng một phiên bản thay thế của boot.ts
var System = require('systemjs');
System.transpiler = 'ts';
System.import('./app.js').then(function(m) {
console.log(m);
}, function(err) {
console.error(err);
});
những dẫn đến các lỗi sau:
[Error: ENOENT: no such file or directory, open '/Users/markusbellgardt/Development/02_Backgular/server/restify']
Chính xác thì vấn đề là gì? Làm thế nào để bạn biết bạn đã không thể? – Pablo
Đã thêm đầu ra của thiết bị đầu cuối – Maquh
bạn đang hiển thị 'boot.ts', dường như dòng này dường như không bị lỗi từ' boot.js'. bạn có thể hiển thị nội dung đĩa (đầu ra được biên dịch) của 'boot.js' không? – Claies