簡體   English   中英

無法從Javascript Typescript中的已編譯庫中導入變量

[英]Not able to import the variable from a compiled library in Javascript Typescript

這是我的package.json文件

{
  "name": "deep-playground-prototype",
  "version": "2016.3.10",
  "description": "",
  "private": true,
  "scripts": {
    "clean": "rimraf dist",
    "start": "npm run serve-watch",

    "prep": "browserify src/csv.ts -p [tsify] | uglifyjs -c > csv.js && copyfiles analytics.js dist && concat node_modules/material-design-lite/material.min.js node_modules/seedrandom/seedrandom.min.js csv.js > dist/lib.js",
    "build-css": "copyfiles fonts.css dist && concat node_modules/material-design-lite/material.min.css styles.css > dist/bundle.css",
    "watch-css": "concat node_modules/material-design-lite/material.min.css styles.css -o dist/bundle.css",
    "build-html": "copyfiles index.html dist",
    "watch-html": "concat index.html -o dist/index.html",
    "watch-js": "watchify src/playground.ts -p [tsify] -v --debug -o dist/bundle.js",
    "build-js": "browserify src/playground.ts -p [tsify] | uglifyjs -c > dist/bundle.js",
    "build": "npm run prep && npm run build-js && npm run build-css && npm run build-html",
    "watch": "npm run prep && concurrently \"npm run watch-js\" \"npm run watch-css\" \"npm run watch-html\"",
    "serve": "http-server -o -c-1 dist/",
    "serve-watch": "concurrently \"http-server -o -c-1 dist/\" \"npm run watch\""
  },
  "devDependencies": {
    "@types/d3": "^3.5.41",
    "concat": "^1.0.3",
    "concurrently": "3.1.0",
    "copyfiles": "1.0.0",
    "http-server": "^0.11.1",
    "rimraf": "2.5.4",
    "tsify": "^4.0.0",
    "typescript": "^2.9",
    "uglify-js": "^2.8.29",
    "watchify": "^3.11.0"
  },
  "dependencies": {
    "@types/jquery": "^3.3.27",
    "csv-parse": "^4.2.0",
    "csvtojson": "^2.0.8",
    "d3": "^3.5.16",
    "https-proxy-agent": "^2.2.1",
    "material-design-lite": "^1.3.0",
    "seedrandom": "^2.4.3",
    "typings": "^2.1.1"
  }
}

csv.ts文件是:

import {csv} from 'd3';
async function delay(ms: number) {
    return new Promise( resolve => setTimeout(resolve, ms) );
}
export let train = [];
(async()=>{console.log('before delay');csv("training.csv",function(error,data){train = data});await delay(1000);console.log('after delay')})();

我試圖首先將數據加載到名為train的變量中。 然后,我嘗試將其從lib.js文件放入程序中:

import {train} from 'lib';

但是編譯后出現以下錯誤:

TypeScript錯誤:src / dataset.ts(17,21):錯誤TS2307:找不到模塊“ lib”。

我在這個過程中錯過了一些東西。

除非您更改模塊加載邏輯,否則可能需要一個相對的導入路徑:

import { train } from './lib'; // Assuming same folder, otherwise adjust path

如果'lib'是可識別的模塊,例如,安裝到node_modules的依賴項,則node_modules

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM