自動生成されたpackage.jsonを、Kotlinが生成したJavaScriptファイルを指すように設定します。kotlin-frontend-pluginを使用してpackage.jsonの設定を行う方法
apply plugin: 'kotlin-platform-js'
apply from: "$project.rootDir/gradle/deploy.gradle"
dependencies {
expectedBy project(":")
// Compile/implementation dependencies
implementation "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
}
apply plugin: 'org.jetbrains.kotlin.frontend'
compileKotlin2Js {
kotlinOptions.metaInfo = true
kotlinOptions.sourceMap = true
kotlinOptions.moduleKind = 'commonjs'
}
kotlinFrontend {
sourceMaps = true
npm {
dependency("kotlin")
replaceVersion("kotlin-js-library", "1.1.0")
}
define "PRODUCTION", true
webpackBundle {
bundleName = "${project.name}"
sourceMapEnabled = true
}
}
これは私が生成さpackage.jsonファイルに反映されることを望んだものです$ project.builDir.path /クラス/ナインにあるmyProject.jsファイルの両方を出力します。これが私の現在のGradle構成です。 (プロジェクトのビルドディレクトリにあります)出力package.jsonファイルはこのようなものです。しかし:問題はこれです
{
"name": "myProject",
"version": "1.2.0-10-SNAPSHOT",
"description": "simple description",
"main": "myProject",
"dependencies": {
"kotlin": "*"
},
"devDependencies": {
"webpack": "*",
"webpack-dev-server": "*",
"source-map-loader": "*",
"karma": "*",
"qunitjs": "1.23.1",
"karma-qunit": "*",
"karma-sourcemap-loader": "*",
"karma-phantomjs-launcher": "*",
"phantomjs-prebuilt": "*",
"karma-webpack": "*"
}
}
、package.jsonで「メイン」属性がにあるバンドルファイルを指していません。 classes/main/myProject.js。私は、特定のディレクトリとjsファイルにmain属性を設定する方法を見つけるためにドキュメントを調べてみましたが、見つけられませんでした。私は、gradleファイルのwebpackBundle部分にbundleNameプロパティを設定することによってのみ名前を変更できます。事前に助けてくれてありがとう!
私は次のようにGradleのファイルにcompileKotlin2Jsを設定しようとしています compileKotlin2Js { kotlinOptions.metaInfo =真 kotlinOptions.sourceMap =真 kotlinOptions.moduleKind = 'commonjs' kotlinOptions.outputFile =「$プロジェクトを。 buildDir.path/$ {project.name} .js " " ただし、エラーが発生します。 無効な構成オブジェクトです。 Webpackは、APIスキーマと一致しない構成オブジェクトを使用して初期化されています。 -configuration.resolve.modules [0]は空であってはいけません –