2017-02-16 19 views
0

я тусклый использовать antd пользовательского интерфейс, а также использование надежды скрипт импорта маркирующих .min.js, как этогокопия node_module/@ тип/КоА моих пользовательских typeRoots, почему не работает?

<script src="//cdn.staticfile.org/react/15.4.1/react.min.js"></script> 
<script src="//cdn.staticfile.org/react/15.4.1/react-with-addons.min.js"></script> 
<script src="//cdn.staticfile.org/react/15.4.1/react-dom.min.js"></script> 
<script src="//unpkg.com/antd/dist/antd.min.js"></script> 

и мой webpack.config.js является

externals: { 
    "react": "React", 
    "react-dom": "ReactDOM", 
    "antd": "antd" 
}, 

tsconfig.json является

{ 
"compilerOptions": { 
    "module": "commonjs", 
    "target": "es5", 
    "allowJs": true, 
    "noImplicitAny": false, 
    "sourceMap": false, 
    "jsx": "react", 
    "watch": true, 
    "typeRoots": ["./h"], 
    "traceResolution": true, 
    "lib": [ 
     "es6", 
     "dom" 
    ] 
}, 
"exclude": [ 
    "node_modules", 
    "src/server/assets", 
    "src/client", 
    "webpack.config.js" 
] 
} 

`` `

во-первых, я использую пространство имен, я думаю, что функция antd в antd objetc ptotype, как и глобальный модуль, например jquery.

/h/antd/index.d.ts

import * as React from "react"; 

declare namespace antd{ 
    export let DatePicker: typeof React.Component; 
} 

declare namespace JSX { 
    interface IntrinsicElements { 
     "DatePicker": any; 
    } 
} 

`` `

import * as antd from "antd"; 
let DatePicker: typeof React.Component = antd.DatePicker; 

ReactDOM.render(
    <DatePicker />, 
    document.querySelector("#app") 
); 

они дают мне ошибку: не удается найти antd модуль.

и я стараюсь определить modlue

import * as React from "react"; 


declare module "antd2"{ 
    export let DatePicker: typeof React.Component; 
} 

declare namespace JSX { 
    interface IntrinsicElements { 
    "DatePicker": any; 
    } 
} 

и я еще раз получаю ошибку: не модуль

найти, если я взять antd2 floder копию node_modules/@ типов, я нахожу-х работа, почему?

так я пытаюсь скопировать КОА типы в час floder, я найти КоА не работает, почему?

и я даю h/all.d.tsdeclare module "*", я все еще получаю эту ошибку. Почему?

все ошибки Пример кода в https://github.com/MiYogurt/ts-koa-react/tree/error

3К вам помочь!

ответ

1

Я бы рекомендовал использовать версию CommonJS из antd в в развитии, таким образом, вы можете использовать объявление типа antd бесплатно, и вы можете настроить antd как внешнюю зависимость при создании производственного пакета.

 Смежные вопросы

  • Нет связанных вопросов^_^