當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript babel-core.transformFileSync函數代碼示例

本文整理匯總了TypeScript中babel-core.transformFileSync函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript transformFileSync函數的具體用法?TypeScript transformFileSync怎麽用?TypeScript transformFileSync使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了transformFileSync函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: getFileAstAsync

async function getFileAstAsync(path: string, options: FableCompilerOptions, info: CompilationInfo) {
    let ast: Babel.BabelFileResult | undefined;
    if (FSHARP_EXT.test(path)) {
        // return Babel AST from F# file
        const fableMsg = JSON.stringify(Object.assign({}, options.fable, { path }));
        const response = await fableUtils.client.send(options.port as number, fableMsg);
        const babelAst = JSON.parse(response);
        if (babelAst.error) {
            throw new Error(babelAst.error);
        }
        addLogs(babelAst.logs, info);
        ast = Babel.transformFromAst(babelAst, undefined, { code: false });
    } else {
        // return Babel AST from JS file
        path = JAVASCRIPT_EXT.test(path) ? path : path + ".js";
        if (fs.existsSync(path)) {
            try {
                ast = Babel.transformFileSync(path, { code: false });
            } catch (err) {
                const log = `${path}(1,1): error BABEL: ${err.message}`;
                addLogs({ error: [log] }, info);
            }
        } else {
            console.log(`fable: Skipping missing JS file: ${path}`);
        }
    }
    return ast;
}
開發者ID:forki,項目名稱:Fable,代碼行數:28,代碼來源:index.ts

示例2: pathJoin

 babelAst.jsIncludes.forEach(js => {
     parsed = babel.transformFileSync(js.sourcePath, babelOpts);
     res.push({
         isEntry: false,
         fileName: pathJoin(outDir, "js_includes/" + js.name) + ".js",
         code: parsed.code,
         map: parsed.map
     });
 });
開發者ID:7sharp9,項目名稱:Fable,代碼行數:9,代碼來源:lib.ts

示例3: getFileAstAsync

async function getFileAstAsync(path: string, options: FableCompilerOptions) {
    let result: Babel.BabelFileResult | undefined;
    if (FSHARP_EXT.test(path)) {
        // return Babel AST from F# file
        const fableMsg = JSON.stringify(Object.assign({}, options.fable, { path }));
        const babelAst = JSON.parse(await client.send(options.port, fableMsg));
        if (babelAst.error) { throw new Error(babelAst.error); }
        Object.keys(babelAst.logs || {}).forEach((key) => {
            ensureArray(babelAst.logs[key]).forEach(
                (log: string) => output(key)(`${key} ==> ${log}`));
        });
        result = Babel.transformFromAst(babelAst, undefined, { code: false });
    } else {
        // return Babel AST from JS file
        path = JAVASCRIPT_EXT.test(path) ? path : path + ".js";
        if (fs.existsSync(path)) {
            result = Babel.transformFileSync(path, { code: false });
        }
    }
    return result;
}
開發者ID:davidtme,項目名稱:Fable,代碼行數:21,代碼來源:index.ts

示例4: function



// Example from https://github.com/babel/babel/tree/master/packages/babel-core
const code = `class Example {}`;
const result = babel.transform(code, { /* options */ });
result.code; // Generated code
result.map; // Sourcemap
result.ast; // AST


// Examples from http://babeljs.io/docs/usage/api/
let options: babel.TransformOptions = {
    plugins: [
        "es2015-arrow-functions",
        "es2015-block-scoped-functions",
        "es2015-block-scoping",
        "es2015-classes",
    ],
    only: /.*\.js/,
    ast: false,
    sourceMaps: true
};

babel.transformFile("filename.js", options, function (err, result) {
    result.code;
    result.map;
    result.ast;
});

babel.transformFileSync("filename.js", options).code;
開發者ID:1drop,項目名稱:DefinitelyTyped,代碼行數:28,代碼來源:babel-core-tests.ts


注:本文中的babel-core.transformFileSync函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。