Closed5
Rollupを使ってjsファイルをコンパイルする
Instration
$ npm install --global rollup
Quick Start
$ rollup main.js --file bundle.js --format cjs
このコマンドでmain.jsをエントリポイントとして、bundle.jsの単一ファイルにコンパイルすることができる。
TypeScipt ファイルをコンパイルするときはこのモジュール
$ npm install @rollup/plugin-typescript --save-dev
Vue3 ファイルをコンパイルするときはこのモジュール
$ npm install rollup-plugin-vue
CommonJSファイルをES6に変換するモジュール
$ npm install @rollup/plugin-commonjs --save-dev
Vue2 ファイルをコンパイルするならこのモジュール
$ npm install --save-dev rollup-plugin-vue2
Rollup + typescript + Vue2 (+ vue-property-decorator)
Vue2の場合はrollup-plugin-vueのバージョンを"rollup-plugin-vue": "^5.0.0”,にする必要がある
[!] RollupError: Unexpected character '@' (Note that you need plugins to import files that are not JavaScript)
lib/scripts/replay_modal.ts (14:0)
12: // } from '../../../ink-helper/index'
13: import { LOG } from "./Utilities.mjs";
14: @Component({
vue-property-decoratorで利用しているdecoratorの部分でエラーなる
tsconfig.json
{
// Change this to match your project
"include": [
"./lib/**/*",
"lib/styles/*.scss",
"lib/scripts/*.ts",
"lib/scripts/*.mjs",
"lib/components/*.vue",
"rollup.config.ts" ⇦ typescriptではここでrollup.config.tsを読み込めるようにする
],
"exclude": [
"node_modules"
],
"compilerOptions": {
"moduleResolution": "node",
"target": "esnext",
"module": "esnext",
// Tells TypeScript to read JS files, as
// normally they are ignored as source files
"allowJs": true,
// Generate d.ts files
"declaration": true,
// This compiler run should
// only output d.ts files
// "allowImportingTsExtensions": true,
"emitDeclarationOnly": true,
// Types should go into this directory.
// Removing this would place the .d.ts files
// next to the .js files
"outDir": "dist/",
// go to js file when using IDE functions like
// "Go to Definition" in VSCode
"declarationMap": true,
"skipLibCheck": true,
"esModuleInterop": true,
"baseUrl": ".",
"types": [
"node"
],
"resolveJsonModule": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"experimentalDecorators": true, ⇦これを追加する
}
}
このスクラップは2023/10/16にクローズされました