2017-09-01 24 views
6

Tôi đã tạo kiểu nhập tùy chỉnh chứa mã mà tôi muốn chia sẻ trên một số dự án webstorm node.js. Vấn đề là tôi đang cố gắng tìm tài liệu phác thảo cách bao gồm việc nhập vào một dự án. Tôi đã thử sử dụng lệnh npm nhưng nó không thêm thư mục vào thư mục @typings trong thư mục/node_modules. Ngoài ra, khi tôi biên dịch dự án mà tôi đang cố thêm kiểu nhập tùy chỉnh vào, tôi nhận được các lỗi trùng lặp cho thư viện mongoose giữa dự án có chứa kiểu nhập và dự án mà tôi muốn thêm vào. Tôi không chắc vấn đề có thể là gì.Làm thế nào để cài đặt kiểu chữ tùy chỉnh?

tsconfig.json (đối với loại mới):

{ 
    "name": "newcustomtype", 
    "description": "...", 
    "version": "1.0.0", 
    "main": "./dist/index.js", 
    "typings": "./dist/index.d.ts", 
    "scripts": { 
    "grunt": "grunt" 
    }, 
    "dependencies": { 
    "@types/express": "^4.0.35", 
    "@types/express-jwt": "0.0.34", 
    "debug": "^2.2.0", 
    "dotenv": "^4.0.0", 
    "mongoose": "^4.9.2", 
    "tslint": "^4.5.1" 
    }, 
    "devDependencies": { 
    "@types/mongodb": "^2.1.41", 
    "@types/mongoose": "^4.7.9", 
    "@types/node": "^7.0.10", 
    "grunt": "^1.0.1", 
    "grunt-cli": "^1.2.0", 
    "grunt-contrib-watch": "^1.0.0", 
    "grunt-ts": "^6.0.0-beta.15", 
    "grunt-tslint": "^4.0.1", 
    "nodemon": "^1.11.0", 
    "ts-node": "^3.0.2", 
    "tslint": "^4.5.1", 
    "typescript": "^2.2.1" 
    } 
} 

tsconfig.json (nơi đánh máy nên được cài đặt):

{ 
    "compilerOptions": { 
    "module": "commonjs", 
    "target": "ES5", 
    "moduleResolution": "node", 
    "experimentalDecorators": true, 
    "emitDecoratorMetadata": true, 
    "types": ["reflect-metadata"], 
    "lib": ["ES6"], 
    "sourceMap": true, 
    "inlineSources": true, 
    "pretty": true, 
    "outDir": "dist", 
    "rootDir": "src", 
    "noLib": false 
    }, 
    "include": [ 
    "src/**/*.ts" 
    ], 
    "exclude": [ 
    "node_modules" 
    ], 
    "compileOnSave": false 
} 

Tôi cố gắng để làm theo doc. trên trang web của bản phân loại nhưng tôi không thể tìm thấy tài nguyên phác thảo cách cài đặt khi được tạo. Mặc dù, để nó không cài đặt tùy chỉnh gõ, tôi nghĩ rằng đó cũng là một vấn đề với các tập tin tsconfig của tôi là tốt. Vui lòng xem lại và cho tôi biết tôi đang thiếu gì?

Xin cảm ơn trước.

Trả lời

1

Thư mục node_modules/@types chỉ dành cho các định nghĩa được cài đặt bởi npm. Đối với kiểu chữ tùy chỉnh, cách tốt nhất là specify typeRoots trong số tsconfig.json của bạn. Ví dụ:

{ 
    [...] 
    "compilerOptions": { 
    [...] 
    "typeRoots" : ["../path/to/typings", "./node_modules/@types"], 
    [...] 
    } 
    [...] 
} 
Các vấn đề liên quan