Electron+Anglar 설치
■2022/1/2 보충기 type script의 main.js가 바뀌었지만 특별한 의미가 없어요. 오랜만에 이 항목대로 하면 움직이지 않아서 수정했어요.그리고 anular/cli의 version은 13입니다.
이것도 자신의 노트다.이것은 최소한의 미니 스타일의 설정이다
여기에 소개된 사이트는 많지만 Anglar12 때문인지 전혀 이동이 안 된다.분명히 ngserv-open에서 정상적으로 작동할 수 있으나eletron을 시작하면 {title} 같은 것이component에서 설정한 값이 나타나지 않고 그대로 나와서 정말 고민입니다.
여기만 움직일 수 있는 설정이라고 써있어요.
다소 수정이 필요하기 때문에 쪽지에 쓰여 있다
■ Angular install
(-g 를 추가하지 않고 전역에 설치하면ng 명령이 잘못됩니다.)
npm uninstall -g @angular/cli
npm install -g @angular/cli@latest
■ Electron 프로젝트 제작ng new PROJECT_NAME
■ electron install■electron의main.js 만들기
각 항목은 필요에 따라 수정한다
loadUrl이 지정한 경로가 매우 중요합니다
npm install --save-dev electron@latest
■ package.json 만들기const {app, BrowserWindow, Menu} = require('electron')
const path = require("path");
// const Config = require('electron-config');
function createWindow(canvasObject) {
const mainWindow = new BrowserWindow({
width: 1600,
height: 1280,
'icon': 'img/icons/icon.ico',
webPreferences: {
worldSafeExecuteJavaScript: true,
frame: false,
backgroundColor: 'WHITE',
contextIsolation: true,
nodeIntegration: true,
nodeIntegrationInWorker: true,
useContentSize: true,
enableRemoteModule: true,
},
})
mainWindow.loadFile(path.join(__dirname, `/dist/index.html`)).then(r => 1)
// Open the DevTools.
//mainWindow.webContents.openDevTools()
mainWindow.on('closed', function () {
app.quit();
});
// Build menu from template
const mainMenu = Menu.buildFromTemplate(mainMenuTemplate);
// Insert menu
Menu.setApplicationMenu(mainMenu);
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(createWindow)
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
const mainMenuTemplate = [
// Each object is a dropdown
{
label: '',
submenu: []
}
];
■src/app/app.component.수정{
"name": "PROJECT_NAME",
"version": "0.0.0",
"main": "main.js",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"build:win": "npm run electron && node_modules/.bin/electron-builder build --win --x64",
"electron": "ng build --base-href ./ && electron ."
},
■src/app/app.component.ts 수정<h1>{{title}}</h1>
■src/index.수정import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'TEST';
}
■angular.json의 outputPath만 수정(중요)<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>TEST</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>
</body>
</html>
■ 시작(화면에만 TEST로 표시되는 어플리케이션 시작)"outputPath": "dist",
■ 포장 배포 준비npm run electron
■electron-builder.json 만들기npm install --save-dev electron-builder
■봉인(electron-builder.json이 지정한 디렉터리에서 생성){
"productName": "angular-electron",
"directories": {
"output": "release/"
},
"files": [
"**/*",
"!**/*.ts",
"!*.code-workspace",
"!LICENSE.md",
"!package.json",
"!package-lock.json",
"!src/",
"!e2e/",
"!hooks/",
"!angular.json",
"!_config.yml",
"!karma.conf.js",
"!tsconfig.json",
"!tslint.json"
],
"win": {
"icon": "dist/assets/icons",
"target": ["portable"]
},
"mac": {
"icon": "dist/assets/icons",
"target": ["dmg"]
},
"linux": {
"icon": "dist/assets/icons",
"target": ["AppImage"]
}
}
※ 추가 보충상기 이외에도 가장 잘하는 일이 있기 때문에 필기를 해야 한다
■text를 읽는 row-loader 설정
여기요.
여기.
■ json의 json-loader를 읽기 위해
json
■ 쉽게 틀을 만들 수 있다
Angular Material
Material을 읽을 수 없는 경우
npx electron-builder --win --x64 --dir
Reference
이 문제에 관하여(Electron+Anglar 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/floyd0/articles/19cf336966473e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)