2016-09-21 37 views
1

我有很多不同的文件,我通过elixir和gulp在一个文件中合并。laravel elixir映射相似的文件

我还最小化了一些文件,它们有相似的名称和不同的来源,并且这些文件存储在不同的文件夹中。但在生成.map-file我只有唯一的文件名称。

当我调试我的js我得到了错误的文件。
我不想重命名这些文件或将它们分开放入不同的内置文件中。

我可以为类似的命名文件创建别名吗?

修订
例如:

var elixir = require('laravel-elixir'); 
var PUBLIC_FOLDER = '../../../public/' 

elixir(function(mix) { 
    mix.scripts([ 
     PUBLIC_FOLDER + 'js/Controller/Account.js', 
     PUBLIC_FOLDER + 'js/Model/Account.js' 
    ], 'public/js/app.js'); 

    mix.version([ 
     'public/js/app.js', 
    ]); 

}); 

它创建app.js.map文件:

{"version":3,"sources":["Account.js"],"names":[],"mappings":"AAAA;AACA;...." 
,"file":"Account.js","sourcesContent":["\....."],"sourceRoot":"/source/"} 

仅包含所述第一文件的数据 - “JS /控制器/ Account.js“

+0

mix.scripts一部分,我认为这将是有意义的我们展示你的'gulpfile.js'。你得到了什么确切的错误? – phaberest

+0

我更新了帖子 – Alex

+0

你用{{elixir('js/app.js')}}'在你的刀片中调用它,对吧? – phaberest

回答

0

我不知道为什么你的代码不起作用,无论如何,我想原因可能是你的PUBLIC_FOLDER变量或js文件所在的位置。

我有共享相同的名称和调试时没有问题的文件,这使得您的问题特别奇怪。

将您的源js文件移动到resources/assets/js,这是Laravel通常放置它们的地方。

然后编辑您gulpfile.js这样

mix.scripts([ 
    'resources/assets/js/Controller/Account.js', 
    'resources/assets/js/Model/Account.js' 
], 'public/js/app.js', './'); 
+0

我试着照你说的做,但我得到了同样的问题。我还安装了laravel 5.3 - 同样的。 我的app.js.map文件: '{“version”:3,“sources”:[“Account.js”],“names”:[],“映射”:“AAAA; AAAA” : “app.js”, “sourcesContent”:[ “警报(2)”], “sourceRoot”: “/源极/”}'。 正如您所看到的,它仅包含第二个文件'Model/Account.js'的数据。它很难调试 – Alex

+0

如果你符合其中的一个,会怎么样?考虑它是一个像ControllerAccount这样的别名,你可以在不触及太多目录结构的情况下编辑同一个文件,但它会被elixir识别为一个不同的文件。 – phaberest

+0

是的,这是很好的解决方案,但我不想更改项目中的所有文件。我以为仙丹有别名。但无论如何,感谢您的帮助 – Alex