【发布时间】: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
然后我将它添加到我的项目中,我没有错误,但我不知道如何调用runApp();
【问题讨论】:
标签: typescript webpack