没有“外部”的webpack和knockoutjs?

问题描述:

是否有可能与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敲除装置?

巨大的成功。继在问题的链接我设法得到它与在的WebPack配置

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

以下条目,热轧,然后我就可以require('knockout')

+0

这是令人困惑的。我把knockout放到了module.exports.entry部分,它正在与require('knockout')一起工作。不需要装载机。你能解释为什么这不适合你吗? –

认沽淘汰赛进入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