第一次启动纱线运行安可开发时出错

时间:2018-04-18 08:09:44

标签: symfony yarnpkg webpack-encore

我在Symfony 3.4项目中第一次配置webpack.config.js时遇到了问题。 我下载了symfony的文档来安装和配置安可,但我不知道为什么我总是这个错误:

$ yarn run encore dev
yarn run v1.6.0
$ [my_root_project_path]\node_modules\.bin\encore dev
Running webpack ...
ERROR  Failed to compile with 1 errors10:01:31
 error
Entry module not found: Error: Can't resolve 'web/build/app.js' in '[my_root_project_path]'
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

我的webpack.config.js文件是这样的:

// webpack.config.js
var Encore = require('@symfony/webpack-encore');
Encore
 .setOutputPath('web/build/')
 .setPublicPath('/build')
 .addEntry('app', 'web/build/app.js')
 .autoProvidejQuery()
 .enableSourceMaps(!Encore.isProduction())
 .cleanupOutputBeforeBuild()
;
module.exports = Encore.getWebpackConfig();

问题来自对Encore没有的文件的权限吗?无论如何,我迷路了,我不知道该怎么做。

配置:

  • Windows 10
  • wamp server
  • php version 5.6.31
  • Symfony 3.4
  • 纱线1.6.0

注意: 我知道可能还有另一个同类问题的帖子,但我认为目前我已经测试了所有内容并且我的问题仍然存在。我总是在听,如果你认为有一个可以解决我问题的stackoverflow帖子,我会让你与我分享。

1 个答案:

答案 0 :(得分:1)

您的问题出在addEntry路径

.addEntry('app', 'web/build/app.js')

,它没有指向正确的文件。正确的语法是:

.addEntry(<name_of_the_entry>, <path_to_the_entry>)

其中path_to_the_entry必须指向要在构建中添加的js文件,而不是直接指向构建路径。此文件应位于其他文件夹中,例如&#39; your_project_root /资产/ JS / your_js_file.js&#39;如doc。

中所述

Encore将在您的web / build文件夹中创建相应的.js文件(如果您在.js文件中添加了.css,则可能为.css),以便您的用户可以访问这些文件。