Eu os defini em meu arquivo .html:
<script type="text/javascript" src="bower_components/tree.js/tree.min.js"></script>
<script type="text/javascript" src="bower_components/q/q.js"></script>
<script type="text/javascript" src="test.js"></script>
Então, em test.js:
var myTree = Tree.tree({})
Mas o texto digitado erra dizendo: "Não é possível encontrar o nome 'Árvore'"
Eu também tentei compilar --module amd
e colocar import Tree = require("model/tree");
no topo do arquivo test.js, mas deu erro novamente: Cannot find external module 'model/tree'.
no entanto, claramente deve ser uma importação válida, veja aqui onde foi definido: https://github.com/marmelab/tree .js / blob / master / src / main.js
Eu não quero escrever arquivos .d.ts para cada arquivo javascript externo Quero uso, é que a sério o que Typescript quer que eu faça?
requirejs
typescript
Blub
fonte
fonte
Respostas:
Não. A solução mais simples / rápida é simplesmente dizer que existe alguma variável
Tree
por aí. Isso é tão simples quanto:TypeSafety é uma escala móvel no TypeScript. Nesse caso, você está apenas dizendo ao compilador que existe algo chamado
Tree
que você gerenciará e não se importará com a segurança de muitos tipos além do fato de que está lá .Mais
IMHO: A linha
declare var Tree:any;
é uma sintaxe muito mais simples do que outras ferramentas de veficiation JS teriam que escrever para declarar seu uso de variáveis que não estão presentes em seu código.Atualizar
fonte
Você mesmo pode definir 'require' e usar o recurso de dependência amd não documentado do TypeScript:
A diretiva 'amd-dependency' dirá ao compilador para incluir seu módulo para "definir" os argumentos no código gerado: veja um exemplo aqui .
Você também pode verificar um artigo muito bom que explica como usar o TypeScript com RequireJS.
Mas observe que sem escrever definições de TypeScript adequadas para seu código existente, você não receberá nenhuma informação de tipo e, portanto, não obterá verificações de segurança de tipo, preenchimento de código avançado em ferramentas e assim por diante. Portanto, sua 'Árvore' será na verdade do tipo 'qualquer' e será uma peça JS dinâmica dentro de outro código TS.
fonte