2017-09-25 53 views
1

是否有可能與webpack一起使用knockoutjs?現在,我只是在我的HTML與像的WebPack配置以下內容的條目沒有「外部」的webpack和knockoutjs?

<script src="http://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js"></script> 

在一起,

externals: { 
    'ko': 'ko' 
} 

我反而喜歡用什麼KO的版本我與yarn安裝。

它似乎與knockoutjs中的這個this line有關,並且似乎有一種暗示可以解決此問題over here

理想情況下,我想還是用一個腳本標籤(由的WebPack注入HTML),但我認爲我可以計算出自己,如果只有淘汰賽能從node_modules以某種方式加載中...

如何在我的webpack配置文件中沒有externals條目時,我是否使用require敲除裝置?

回答

1

巨大的成功。繼在問題的鏈接我設法得到它與在的WebPack配置

module: { 
    loaders: [ 
    { 
     test: /knockout.build.output.knockout-latest\.js/, 
     loader: "imports?require=>false" 
    } 
    ] 
} 

以下條目,熱軋,然後我就可以require('knockout')

+0

這是令人困惑的。我把knockout放到了module.exports.entry部分,它正在與require('knockout')一起工作。不需要裝載機。你能解釋爲什麼這不適合你嗎? –

-1

認沽淘汰賽進入module.exports.entry部分,它是工作。所有你需要的是將它包含到你的js文件中,就像這樣需要('敲除')。

webpack.config.js

module.exports.entry = { 
    vendor: [ 
     'jquery', 
     'knockout', 
     'bootstrap'    
    ], 
    emal_patient_form : [ 
     path.resolve(__dirname, 'resources/js/EmalPatientForm.js') 
    ] 
}; 
... 

... /resources/js/EmalPatientForm.js

... 
const ko = require("knockout"); 
const myViewModel = { 
    error_messsage: ko.observable(''), 
    alert: ko.observable('') 
}; 
ko.applyBindings(myViewModel); 
... 
+0

酷!你能給個例子嗎? – vidstige

+0

示例已添加。 –

+0

不適用於我。我嘗試在新項目中,通過做'紗添加淘汰賽' – vidstige