小编Eör*_*ras的帖子

使用 WebPack Encore 和 Symfony 4 在 TWIG 页面上使用功能 Javascript

我使用的是 Symfony 4.2,我使用的是最后一个 WebPack Encore。

我有问题,因为我需要在我的树枝模板上使用我的 javascript 中的函数,但这永远行不通。

我总是有同样的问题:

未捕获的 ReferenceError:consoleText 未在 (index):17 处定义

资产/js/app.js:

require('../css/app.css');
const $ = require('jquery');
global.$ = global.jQuery = $;
Run Code Online (Sandbox Code Playgroud)

资产/js/myFunctions.js

const consoleText = function (log = "Auncun log") {
console.log(log);
};

module.exports = {
    consoleText: consoleText
};
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

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

Encore
    .setOutputPath('public/build/')
    .setPublicPath('/build')
    .addEntry('app', './assets/js/app.js')
    .enableSingleRuntimeChunk()
    .cleanupOutputBeforeBuild()
    .enableBuildNotifications()
    .enableSourceMaps(!Encore.isProduction())
    .autoProvidejQuery()
;

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

我需要在我的文件之外访问我的函数 consoleText()。

如果我想访问 javascript 文件,这个工作。示例:在我的 app.js 中,我可以添加:

let myTest = require('./myFunctions');
myTest.consoleText('Blablabla');
Run Code Online (Sandbox Code Playgroud)

编译后可以正常工作。

但是我需要在我的树枝模板(home.html.twig)上访问这个功能

在我的 base.html.twig 中,我使用以下命令调用了我的脚本文件:

{% …
Run Code Online (Sandbox Code Playgroud)

javascript symfony twig webpack-encore symfony4

5
推荐指数
2
解决办法
3945
查看次数

标签 统计

javascript ×1

symfony ×1

symfony4 ×1

twig ×1

webpack-encore ×1