如何确定NPM软件包是否实现ES5或ES6模块?

时间:2020-03-06 21:23:23

标签: node.js es6-modules commonjs

如何确定NPM软件包是否支持ES5或ES6类型的模块?

1 个答案:

答案 0 :(得分:0)

这是一个很难确定的问题,因为它需要解析JS-一个众所周知的难题。

如果您大多数时候都能给出正确答案的解决方案,那么我有一个构建系统,该系统可以在具有自动依赖项发现功能的CommonJS / ESM混合环境中使用Babel转换ESM。我如何确定给定文件是否为ESM

import SwiftUI

struct ContentView: View {
    @State private var num: Int = 0
    @State private var text: String = "0"
    private var resultInt: Int {
        return self.num*self.num
    }
    private var resultString: String {
        if let num = Int(self.text) { // Here it convert the string to an integer
            return String(num*num)
        }
        return "0"
    }
    var body: some View {
        VStack {
            TextField("String Number",text: self.$text)
            .textFieldStyle(RoundedBorderTextFieldStyle())
            TextField("Int Number", value: self.$num, formatter: NumberFormatter())
            .textFieldStyle(RoundedBorderTextFieldStyle())
            Spacer()
            Text("Square is \(self.resultInt)").font(.title)
            Text("Square is \(self.resultString)").font(.title)
            Spacer()
        }.padding()
    }
}

在某些明显的情况下,这会引起误触发,但这对我很有帮助。