标签: webpack-encore

如何将Tinymce与Symfony再现整合?

我有一个使用flexencoreSymfony4项目.我想补充一下.

所以我添加了tinymce项目:

$ yarn add tinymce
Run Code Online (Sandbox Code Playgroud)

我编辑了我的app.js文件:

require('../css/app.scss');

// Import TinyMCE
import tinymce from 'tinymce/tinymce';

// A theme is also required
import 'tinymce/themes/modern/theme';

// Any plugins you want to use has to be imported
import 'tinymce/plugins/paste';
import 'tinymce/plugins/link';

// Initialize the app
tinymce.init({
    selector: 'textarea',

    plugins: ['paste', 'link']
});
Run Code Online (Sandbox Code Playgroud)

我编译:

$ yarn run encore dev
Run Code Online (Sandbox Code Playgroud)

编译成功:

Running webpack ...

 DONE  Compiled successfully in 17600ms                                                                                                                                                                                                             

 I  8 files written to public\build
Done in …
Run Code Online (Sandbox Code Playgroud)

tinymce symfony yarnpkg webpack-encore

4
推荐指数
1
解决办法
1190
查看次数

webpack encore 和 jquery ui (dateRangeSlider)

我在使用 Webpack Encore 将 jquery-ui 插件与我的 Symfony 应用程序集成时遇到问题。您可以在控制台中看到错误(TypeError: t(...).dateRangeSlider is not a function[Learn More]):

https://date-range-demo.herokuapp.com/en/blog/search

在此输入图像描述

其源代码位于https://github.com/tacman/range-slider-demo,它只是在搜索页面上带有日期范围滑块的 symfony 演示,通过以下更改:

从命令行将库添加到 package.json

纱线添加 jquery-ui jqrangeslider

添加到/blog/search.html

    <div id="slider">Slider Placeholder</div>
Run Code Online (Sandbox Code Playgroud)

添加到 asset/js/search.js

import 'jquery-ui'; 
import 'jqrangeslider';

$('#slider').dateRangeSlider();
Run Code Online (Sandbox Code Playgroud)

资产是使用“yarn run encore dev”构建的,我确信这是一个简单的配置错误,但我不知道它是什么。

部署到 heroku 添加了更多内容,但与插件未加载无关。要在本地查看此错误,只需克隆存储库,运行 Composer install && Yarn install && Yarn run encore dev,然后启动服务器并转到 /en/blog/search。

感谢您对此的任何帮助!

jquery jquery-ui rangeslider webpack-encore symfony4

4
推荐指数
1
解决办法
3946
查看次数

“文件”类型上不存在属性“文本”

我有以下代码来处理用户的文件上传:

17  const onFileDrop =
18    (files: File[]) => {
19      files.forEach(file => file.text().then(content => console.log(content)));
20    },
21  );
Run Code Online (Sandbox Code Playgroud)

VS Code 没有显示任何错误,我可以正确访问File包含text()函数的界面。

在此输入图像描述 在此输入图像描述

但是,运行时npm start我看到以下错误:

[tsl] ERROR in {omitted}/RawCommandOutputs.tsx(19,34)
      TS2339: Property 'text' does not exist on type 'File'.


[tsl] ERROR in {omitted}/RawCommandOutputs.tsx(19,46)
      TS7006: Parameter 'content' implicitly has an 'any' type.
Run Code Online (Sandbox Code Playgroud)

typescript eslint visual-studio-code webpack-encore typescript-eslint

4
推荐指数
1
解决办法
3874
查看次数

如何获取使用 webpack encore 生成的图像的路径

我想使用 phpmailer 在电子邮件中包含图像,但有一个问题。我尝试在我的 symfony 应用程序中使用 swift mailer,但不起作用。我已经尝试了所有配置(所有主机、所有端口、所有加密等),在 3 天内我给它们打电话等,但没有成功。它在本地工作,而不是在远程环境中工作...无论如何,让我们回到我的问题。

我将 webpack 与 encore 一起使用(为 symfony4 设置资源的新方法)。我的所有图像都在公共文件夹中重命名。myimagename.65342324b5.jg 当我运行 encore 来部署资产时,I/O myimagename.jpg。

问题是当我想 AddEmbeddedImage 时

假设我在 asset 文件夹中有 logo.png 。当我部署资产时,它在公共图像文件夹中被重命名为 logo.536324324V3.png 。所以当我这样做时

$mail->AddEmbeddedImage('images/logo.png','mon_logo', 'logo.png');
Run Code Online (Sandbox Code Playgroud)

当我想在电子邮件的 html 正文中引用“mon_logo”时,图像不会加载,因为它不只存在 logo.536324324V3.png。

我有两个选择:

  1. 首先,我使用 webpack encore 禁用图像的自动重命名。但我不知道如何操作。
  2. 第二:我使这个脚本能够将 logo.png 识别为 logo.536324324V3.png。通常,它是在资产部署后自动生成的 manifest.json,但在我的情况下,图像的路径位于我的控制器中,因此我无法指定它是资产。

    但我做不到

      $mail->AddEmbeddedImage(" {{ asset('images/logo.png')}}",'mon_logo',
        '标志.png');

    无论如何,这没有任何意义。

所以如果你有解决方案,我会采纳:)

谢谢 :)

image phpmailer symfony webpack webpack-encore

3
推荐指数
1
解决办法
1508
查看次数

在 Symfony 4 中使用引导程序和 Webpack Encore

我想在 Symfony 4.1 中将引导程序与 Webpack Encore 一起使用,但引导程序不起作用。在这篇文章的 template/base.html.twig 文件中,我使用了一些引导程序类,但没有考虑到它,我不明白为什么。

我用纱线安装了引导程序所需的依赖项:

yarn add bootstrap --dev
yarn add jquery --dev
yarn add popper.js --dev
Run Code Online (Sandbox Code Playgroud)

模板/base.html.twig

在这个文件中,我使用了资产函数来考虑以下文件:build/app.scssbuild/app.js

yarn add bootstrap --dev
yarn add jquery --dev
yarn add popper.js --dev
Run Code Online (Sandbox Code Playgroud)

在以下两个文件中,我需要并导入了引导程序所需的内容。

资产/js/app.js

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}
        <link rel="stylesheet" href="{{ asset('build/app.scss') }}">
        {% endblock %}
    </head>
    <body>
        {% block body %}
        <nav class="navbar navbar-expand-lg navbar-light …
Run Code Online (Sandbox Code Playgroud)

bootstrap-4 webpack-encore symfony4

3
推荐指数
1
解决办法
1万
查看次数

Symfony 4 - Webpack-encore 使用 FosJsRouting :未定义路由

我尝试在我的 Symfony 4 项目中将 FosJsRouting 与 Webpack-encore 一起使用。

我做了:

1.

composer require friendsofsymfony/jsrouting-bundle
Run Code Online (Sandbox Code Playgroud)

2.

php bin/console assets:install --symlink public
Run Code Online (Sandbox Code Playgroud)

3.

php bin/console fos:js-routing:dump --format=json --target=public/js/fos_js_routes.json
Run Code Online (Sandbox Code Playgroud)

在我的app.js中:

// FosJsRouting

const routes = require('../../public/js/fos_js_routes.json');
import Routing from '../../vendor/friendsofsymfony/jsrouting-bundle/Resources/public/js/router.min.js';
Routing.setRoutingData(routes);
Run Code Online (Sandbox Code Playgroud)

现在,如果在app.js中执行 a,console.log(Routing);我会在控制台中获取该对象。

另一方面,不可能在我的模板中使用它。

我有以下错误:

未捕获的引用错误:未定义路由

我不明白,因为我的其他包工作得很好,但路由不行

routes defined symfony webpack-encore

3
推荐指数
1
解决办法
4790
查看次数

为什么只有在 dev 中才需要 webpack encore

我目前正在为 symfony 5 项目配置一些 docker 映像,并尝试处理生产构建。这样做时,我注意到 webpack encore 仅在开发模式下安装,正如官方文档中所建议的: https: //symfony.com/doc/current/frontend/encore/installation.html

yarn add @symfony/webpack-encore --dev
Run Code Online (Sandbox Code Playgroud)

然而,这对我来说没有意义,因为即使在生产中,我们也应该构建资产:

yarn encore production
Run Code Online (Sandbox Code Playgroud)

有人有这方面的线索吗?谢谢

symfony webpack webpack-encore

3
推荐指数
1
解决办法
2570
查看次数

“process.env”的值与 Webpack Encore 和 Dotenv 发生冲突

我将 Webpack Encore 与Dotenv-webpack一起使用,但收到此错误:

编译失败。

定义插件

“process.env”的值存在冲突

我的 webpack.config.js:

const Dotenv = require('dotenv-webpack')
const Encore = require('@symfony/webpack-encore')

if (!Encore.isRuntimeEnvironmentConfigured()) {
  Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev')
}

Encore
  // ...
  .addPlugin(new Dotenv({
    path: './.env.local'
  }))

module.exports = Encore.getWebpackConfig();
Run Code Online (Sandbox Code Playgroud)

使用的版本:

"devDependencies": {
    "@symfony/webpack-encore": "^1.2.0",
    "dotenv-webpack": "^7.0.2",
}
Run Code Online (Sandbox Code Playgroud)

我发现了类似的问题,但我并不真正理解解决方案,因此无法将此解决方案与 Symfony Encore 一起使用。

造成此问题的原因是什么以及如何解决此问题?

symfony webpack webpack-encore dotenv

3
推荐指数
1
解决办法
4259
查看次数

TailwindCSS 3 + Symfony / webpack Encore 没有样式?

我在 symfony 6 应用程序中更新到 TailwindCSS 3。当我编译样式表时,没有错误(编译成功),但所有顺风类样式都不起作用。我注意到 tailwind 的导入似乎不是从 @tailwindcss 调用翻译的(它们只是按原样包含在浏览器中)。也许是 postCSS 问题?

webpack.config.js:

const Encore = require('@symfony/webpack-encore');
const path = require('path');

// Manually configure the runtime environment if not already configured yet by the "encore" command.
// It's useful when you use tools that rely on webpack.config.js file.
if (!Encore.isRuntimeEnvironmentConfigured()) {
    Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev');
}

Encore
    // directory where compiled assets will be stored
    .setOutputPath('public/build/')
    // public path used by the web server to access the output path
    .setPublicPath('/build') …
Run Code Online (Sandbox Code Playgroud)

symfony webpack postcss webpack-encore tailwind-css

3
推荐指数
1
解决办法
1892
查看次数

webpack-cli : 错误: 生成未知系统错误 -86 / Symfony6 / Mac M1

我有一台带有 M1 芯片的 Mac,我想知道该错误是否与此有关,因为在我的旧电脑上没有问题。

 % npm run dev           

> dev
> encore dev

Running webpack ...

[webpack-cli] Error: spawn Unknown system error -86
    at ChildProcess.spawn (node:internal/child_process:420:11)
    at spawn (node:child_process:757:9)
    at Object.execFile (node:child_process:348:17)
    at module.exports.fileCommandJson (/Users/Desktop/quest/wild-series/node_modules/node-notifier/lib/utils.js:88:13)
    at NotificationCenter.notifyRaw (/Users/Desktop/quest/wild-series/node_modules/node-notifier/notifiers/notificationcenter.js:81:11)
    at WebpackNotifierPlugin.compilationDone (/Users/Desktop/quest/wild-series/node_modules/webpack-notifier/index.js:129:14)
    at Hook.eval [as callAsync] (eval at create (/Users/Desktop/quest/wild-series/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:18:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/Desktop/quest/wild-series/node_modules/tapable/lib/Hook.js:18:14)
    at /Users//Desktop/quest/wild-series/node_modules/webpack/lib/Compiler.js:498:23
    at Compiler.emitRecords (/Users/Desktop/quest/wild-series/node_modules/webpack/lib/Compiler.js:919:5) {
  errno: -86,
  code: 'Unknown system error -86',
  syscall: 'spawn'
}
Run Code Online (Sandbox Code Playgroud)

我尝试过使用纱线和 npm ..

php npm webpack-encore webpack-cli symfony6

3
推荐指数
1
解决办法
1425
查看次数