【问题标题】:Running function that went from typescript->ES5->WebPack从 typescript->ES5->WebPack 运行的函数
【发布时间】:2017-12-26 18:29:39
【问题描述】:

我正在尝试从 cycle.js 运行这个示例。文档推荐

"我们建议使用打包工具,例如 browserify 或 webpack,通过转译器与 ES6(又名 ES2015)结合 (例如 Babel 或 TypeScript)”

所以我从 TypeScript 转译为 ES5,然后从命令行运行 WebPack,所有这些都是为了调用 runApp();

tsconfig.json

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "moduleResolution": "node",
    "sourceMap": true,
    "target": "es5",
    "module": "es6",
    "lib": [
      "es2015",
      "es5",
      "dom"
    ]
  },
  "exclude": [
    "node_modules"
  ],
  "compileOnSave": true
}

MyScript.ts

import { run } from '@cycle/run';
import { makeDOMDriver, div, button } from '@cycle/dom';
function main(sources) {
    var add$ = sources.DOM
        .select('.add')
        .events('click')
        .map(function (ev) { alert('hi'); return 1; });
    var count$ = add$.fold(function (total, change) { return total + change; }, 0);
    return {
        DOM: count$.map(function (count) {
            return div('.counter', [
                'Count: ' + count,
                button('.add', 'Add')
            ]);
        })
    };
}
var drivers = {
    DOM: makeDOMDriver('.app')
};
function runApp() {
    run(main, {
        DOM: makeDOMDriver('#app')
    });
}

它转译为 MyScript.js

import { run } from '@cycle/run';
import { makeDOMDriver, div, button } from '@cycle/dom';
function main(sources) {
    var add$ = sources.DOM
        .select('.add')
        .events('click')
        .map(function (ev) { alert('hi'); return 1; });
    var count$ = add$.fold(function (total, change) { return total + change; }, 0);
    return {
        DOM: count$.map(function (count) {
            return div('.counter', [
                'Count: ' + count,
                button('.add', 'Add')
            ]);
        })
    };
}
var drivers = {
    DOM: makeDOMDriver('.app')
};
function runApp() {
    run(main, {
        DOM: makeDOMDriver('#app')
    });
}
//# sourceMappingURL=MyScript.js.map

然后我运行webpack .\MyScript.js MyScriptWebPack.js

MyScriptWebPack.js

然后我将它添加到我的项目中,我没有错误,但我不知道如何调用runApp();

【问题讨论】:

    标签: typescript webpack


    【解决方案1】:

    但我不知道如何调用 runApp()

    您的模块应调用runApp,例如

    function runApp() {
        run(main, {
            DOM: makeDOMDriver('#app')
        });
    }
    runApp(); // Start the app
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 1970-01-01
      • 2018-04-10
      • 2017-08-10
      • 2016-12-24
      相关资源
      最近更新 更多