In the image below on the left in the folders you can see my /src Typescript (blue) compiled into my /dist (purple) Javascript using tsc.
You can see in the source file on the left that references a .ts module file that it isn't compiled into referencing a .js module file on the right.
Why not? How could the Javascript possibly run if tsc doesn't convert references?
Second question: I then tried manually changing the compiled reference from .ts to .js and running node dist/server.js but I get the error cannot find module tools/typescriptImport.js'. Why does node fail to find the module when it is correctly referenced (and you can see on the far right that it is a module)?
You are not supposed to write extension
.ts
inimport
commands.Corresponding documentation: http://www.typescriptlang.org/Handbook#modules-going-external
For starters, you have to remove the
.ts
extension from theimport
. TypeScript says that it treats it as a static string and won't change it.Second, out of experience, I guess using a
.d.ts
file may solve yourmodule not found
error. I have solved many times by using this small hack. You can reference it using/// <reference path="tools/typeScriptImports.d.ts" />
. Imagine.d.ts
as the header file for TypeScript.Lastly, try and make the path relative to the
server.js
file. So:./tools/typeScriptImports
.