в @ babel / types, как добавить китайский, используя types.stringLiteral - PullRequest
0 голосов
/ 22 марта 2020
const types = require("@babel/types");
let chinese = "中文"
const visitor = {
        ExportDeclaration: {
            enter (path) {
                if (path.node.type = 'ExportDefaultDeclaration') {
                    path.node.declaration.elements.push(type.objectExpression([
                        type.objectProperty(type.identifier("path"), type.stringLiteral(`/${name}`)),
                        type.objectProperty(type.identifier("chinese"), type.stringLiteral(chinese))
                    ]))
                }
            },
            exit (path) {
                //console.log('leave')
            }
        }
    }
    let dir = path.join(__dirname, '../src/functions/elements/routes.js');
    let sourceCode = fs.readFileSync(dir, 'utf8')
    let ast = parser.parse(sourceCode, { sourceType: 'module' })
    traverse.default(ast, visitor);
    let code = generator.default(ast, {}, sourceCode)
    fs.writeFileSync(dir, code.code, { encoding: 'utf8' });
    console.log(chalk.green(`${file}写入elements/routes.js成功`))

но когда откроете файл, найдите китайский конвертировать в

{
  path: "/chinese",
  name: "\u4E2D\u6587"
}

строку конвертировать в Unicode, я не хочу Unicode, как я могу решить

...