1

我有以下问题:我导入了一个上传到 npm 的库 OpenDolphin,它似乎是在 TS 中实现的,带有一个带有所有导出声明的 main.js。

我尝试在我的 TypeScript 代码中使用该库,如下所示:

import { OpenDolphin, ClientDolphin } from 'openDolphin/main';

然后我尝试使用这个:

    let builder = OpenDolphin.makeDolphin();

将其转换为 ES5 后,我在 chrome 中收到以下错误:

SyntaxError: Unexpected token export 

似乎包含导出语句的库的 main.js 以某种方式未处理,只是附加到最终的 dist 文件:

//snipped from the final js file
/* 469 */
/***/ function(module, exports) {

export { Attribute } from './js/dolphin/Attribute'; 
    ...all the rest of OpenDolphin export statements.

}

对我来说,作为一个 TS(JS 工具链)初学者,这个库似乎没有被正确处理/转译或类似的东西。

我的设置:

包.json:

{
  "name": "FrontendExample",
  "version": "1.0.0",
  "private": false,
  "description": "",
  "author": "<AUTHOR>",
  "license": "MIT",
  "preferGlobal": false,
  "scripts": {
    "build": "webpack --display-error-details"
  },
  "dependencies": {
    "@cycle/rxjs-run": "3.2",
    "@cycle/dom": "12.2.0",
    "@cycle/isolate": "1.4.x",
    "OpenDolphin": "1.0.1",
    "core-js": "2.4.1",
    "rxjs": "5.0.1",
    "ts-helpers": "1.1.2",
    "xstream": "9.2"
  },
  "devDependencies": {
    "@types/node": "6.0.42",
    "ts-node": "1.2.1",
    "tslint": "4.1.1",
    "typescript": "2.0.3",
    "typings": "2.1.0",
    "ts-loader": "^0.8.2",
    "webpack": "^1.13.1"
  }
}

webpack.config.js:

var webpack = require('webpack');
module.exports = {
    entry: './src/app.ts',
    output: {
        filename: './dist/main.js'
    },
    // Turn on sourcemaps
    devtool: 'source-map',
    resolve: {
        extensions: ['', '.webpack.js', '.web.js', '.ts', '.js']
    },
    // Add minification
    // plugins: [
    //     new webpack.optimize.UglifyJsPlugin()
    // ],
    module: {
        loaders: [
            { test: /\.ts$/, loader: 'ts' }
        ]
    }
};

更新 1:

只导入

import { OpenDolphin, ClientDolphin, ClientPresentationModel, ClientAttribute, Tag } from 'openDolphin';

没有帮助,同样的错误仍然存​​在。但是,Intellij 还会将 TS-File 中的导入标记为红色。我...不确定 OpenDolphin npm 包是否正确:它只包含一个 main.js、main.d.ts、一个没有 browserify、babelify 或其他提示的 package.json,一个包含所有*.ts 文件...?

4

0 回答 0