packages/okam-build/lib/processor/component/ux-generator.js
function generateSFC(file, options) {
    let {subFiles} = file;
    if (!subFiles || !subFiles.length) {
        subFiles = [file];
    }

    let result = '';
    let componentConfig = file.isNativeComponent
        ? file.importComponents
        : getComponentConfig(subFiles);

    subFiles.forEach((item, idx) => {
        if (item.isScript) {
            result += wrapContent('script', item);
        }
        else if (item.isStyle) {
            result += wrapContent('style', item);
        }
        else if (item.isTpl) {
            result += wrapContent('template', item);
            result = addImportComponents(result, componentConfig);
        }
    });

    return {
        content: result
    };
}
function generateSFC(file, options) {
    let {subFiles} = file;
    if (!subFiles || !subFiles.length) {
        subFiles = [file];
    }

    let result = '';
    let componentConfig = file.isNativeComponent
        ? file.importComponents
        : getComponentConfig(subFiles);

    subFiles.forEach((item, idx) => {
        if (item.isScript) {
            result += wrapContent('script', item);
        }
        else if (item.isStyle) {
            result += wrapContent('style', item);
        }
        else if (item.isTpl) {
            result += wrapContent('template', item);
            result = addImportComponents(result, componentConfig);
        }
    });

    return {
        content: result
    };
}
Generate the single file component.
Return the component file info structure:
<template>...</template>
<script>...</script>
<style>...</style>

@param {Object} file the file to process
@param {string} file.content the component file content
@param {Object=} options the parse options, optional
@return {Object}