2016-09-21 25 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