Вы можете использовать rc.local в экземпляре ubuntu ec2 для запуска приложения (.jar) при запуске. Просто вы должны включить исполняемый код исполняемого кода .jar в rc.local перед строкой exit 0
, как показано ниже. Чтобы изменить rc.local, вы должны иметь root-доступ. Поэтому обращайтесь к нему следующим образом: sudo vi /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Example Code Execution
java -jar sampleExecutionPackage.jar
exit 0
После этого, если вам нужно проверить состояние запущенного приложения, вы можете проверить, что с помощью
sudo systemctl status rc-local.service
вы можете используйте start/stop/restart
вместо status
для соответствующего его использования.
Я нашел простое и быстрое решение.
Вся проблема, как отмечали многие, связана с шаблонами рендеринга vue во время выполнения. Для этого он использует функцию eval()
, которая по умолчанию не разрешена chrome из-за расширений в целях безопасности.
Вы можете обойти это, добавив следующую строку в manifest.json
:
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
Это явно не рекомендуется, так как ваше расширение будет подвержено уязвимости межсайтового скриптинга .
Вместо этого вы можете положиться на визуализацию шаблонов во время компиляции. Таким образом, вам больше не нужно запускать eval()
для ваших шаблонов.
Самый простой способ визуализации шаблонов во время компиляции - установить Vue build
в runtime
при создании проекта с помощью vue init webpack
.
Это вынуждает Vue использовать предварительно скомпилированные шаблоны согласно этой статье: https://vuejsdevelopers.com/2017/05/08/vue-js-chrome-extension/
[1117 ] ... это именно то, что нам нужно, чтобы не использовать функциюeval()
.
Для создания Chrome-расширения с помощью Vuejs вы можете использовать этот шаблон. Убедитесь, что вы установили vue-cli, если он не установлен, вы можете установить его с помощью `npm install -g @ vue / cli.
После установки vue-cli запустите этот cmd: vue init kocal/vue-web-extension my-extension
. Он загрузит и установит шаблон шаблона vuejs для расширения chrome в ваш текущий каталог. Затем вы можете перейти во вновь созданный каталог и установить зависимости с помощью команды npm install
.
Теперь вы полностью настроили приложение vuejs для вашего chrome-расширения, но оно откроется как всплывающее окно, чтобы сделать его видимым на новой вкладке, и потребует некоторой модификации, как я дал ниже.
src/manifest.json
и удалите "default_popup": "popup/popup.html"
из "browser_action"
Затем перейдите к файлу src/background.js
и удалите весь указанный код и замените его на код приведен ниже.
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.create(
{
url: chrome.extension.getURL('./popup/popup.html'),
},
function (tab) { }
);
});
Теперь запустите run npm run build
, и он сгенерирует папку dist, которую вы можете использовать в качестве папки расширения. Это вы можете открыть в Chrome, используя опцию Load unpacked
в меню расширений Chrome.
И все готово. Вы можете увидеть приложение vuejs, работающее в окне новой вкладки, нажав на значок расширения.
1120 Дайте мне знать, сработало это или нет, если не сработало, тогда, пожалуйста, позвольте мне знать, с какой проблемой вы столкнулись.