- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 webpack 编译时动态包含 .js 文件。
我不想使用上下文来加载环境变量,因为我的代码中没有这些神奇的变量。
我想做的是使用 val 加载器来执行模块。使用环境变量来决定导入哪个模块。并导出该模块。
但是,这会导致其他加载器抛出错误。
这是我的目录布局
--base
--src
app.js
test.js
webpack.config.js
rawr.js
这是我的 webpack.config.js 文件
var path = require('path');
var webpack = require('webpack');
// var process = require('process');
var env = require(process.env.NODE_ENV || './devConf.js');
module.exports = {
// Specify logical root of the sourcecode
plugins: [
new webpack.DefinePlugin(env)
],
context: path.join(__dirname, '/src'),
entry: {
app: ['bootstrap.js'],
},
// Specify where to put the results
output: {
path: path.join(__dirname, '/dist'),
filename: 'build.js'
},
// Specify logical root of package imports so as to avoid relative path everywhere
resolve: {
root: path.join(__dirname, '/src'),
// What files we want to be able to import
extensions: ['', '.js', '.css', '.less'],
},
module: {
preLoaders: [
// Lint all js before compiling
/*{
test: /\.js$/,
exclude: /node_modules/,
loader: 'eslint-loader'
}*/
],
loaders: [
{
test: /\.js$/,
query: {
presets: ['es2015']
},
exclude: /node_modules/,
loader: 'babel'
},
{
test: /\.tpl\.html$/,
exclude: /node_modules/,
loader: 'ngtemplate?relativeTo=/src/!html'
},
{
test: /\.scss$/,
loaders: ["style", "css", "sass"]
},
{
test: /\.css$/,
loaders: ["style", "css"]
}
]
},
// Dev server settings
devServer: {
contentBase: path.join(__dirname, '/dist'),
noInfo: false,
hot: true
},
// ESLint config
eslint: {
configFile: path.join(__dirname, '.eslintrc')
}
};
我的 js 文件如下所示
// app.js
let b = require('val!test.js');
// test.js
var process = require('process');
loadedModule = require(process.env.NODE_ENV) // NODE_ENV='./rawr.js'
export const myString = loadedModule
// rawr.js
module.exports.test = "hello world";
我遇到的异常:
ERROR in ./src/app/app.js
Module parse failed: /home/smaug/Projects/angular-template/node_modules/babel-loader/index.js?{"presets":["es2015"]}!/home/smaug/Projects/angular-template/src/app/app.js Line 1: Unexpected identifier
You may need an appropriate loader to handle this file type.
| 'use strict';
|
| require('angular-animate');
@ ./src/bootstrap.js 7:0-18
这与我想做的事情无关。但是如果我删除 require('val!...') 语句,它就会消失。
有什么想法吗?
更新:
如果我将 require 语句更改为
let b = require('val!./test.js');
我收到以下错误:
ERROR in ./~/val-loader!./src/app/test.js
Module build failed: Error: Final loader didn't return a Buffer or String
at DependenciesBlock.onModuleBuild (/home/smaug/Projects/angular-template/node_modules/webpack-core/lib/NormalModuleMixin.js:299:42)
at nextLoader (/home/smaug/Projects/angular-template/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25)
at /home/smaug/Projects/angular-template/node_modules/webpack-core/lib/NormalModuleMixin.js:292:15
at runSyncOrAsync (/home/smaug/Projects/angular-template/node_modules/webpack-core/lib/NormalModuleMixin.js:160:12)
at nextLoader (/home/smaug/Projects/angular-template/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
at /home/smaug/Projects/angular-template/node_modules/webpack-core/lib/NormalModuleMixin.js:292:15
at Object.context.callback (/home/smaug/Projects/angular-template/node_modules/webpack-core/lib/NormalModuleMixin.js:148:14)
at Object.module.exports (/home/
最佳答案
// app.js
let b = require('val!./test.js');
关于javascript - webpack val loader 导致异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35350059/
我创建了一个基本的控制台应用程序来进行这样的测试。 short val = 32767; val++; Console.WriteLine(val);
考虑下面的代码,我试图理解三种不同的数据绑定(bind)方法之间的区别。由于我是 Angular4 的新手,我需要弄清楚何时使用什么。例如要分配 ngModel,请使用 [(ngModel)]。要分配
我看到很多人使用各种不同的方法来检查变量是否为空,似乎真的没有达成共识。我听说 if($foo) 与 if(!empty($foo)) 或 if($foo != "")。 这是真的吗? 我知道这是一个
此代码有效: let mut b: Vec = Vec::with_capacity(a.len()); for val in a.iter() { b.push(val); } 此代码不起作
这可能是 bike-shedding ,但也许我遗漏了一些有趣的东西...... 如果一个类初始化一个成员val至 std::numeric_limits::infinity()后来想检查 val 是
我不知道如何以可搜索的方式表达我的问题,所以如果已经得到解答,请原谅我。我对 SQL 命令还不够熟悉,甚至无法为我指明正确的方向。我有一个连接另外两个表的 sqlite 表。示例: ╔═════╦══
这个似乎依赖于 Java 和 Kotlin 之间的交互,首先是一个 Java 类: public class MyJavaClass { private Runnable q; pub
这个问题已经有答案了: What does &= mean? [closed] (5 个回答) 已关闭 5 年前。 基本上试图找到汉明字符串 https://en.wikipedia.org/wiki
我只是创建一个函数,该函数将 JSON.stringify 输入,同时也会检测数字输入上的 NaN,但不想使用 typeof 由于以下原因。输入可以是数字、 bool 值或字符串。仅此而已。 我已经遇
我正在努力构建允许我从起始值过渡到目标最终值的公式,同时使用 Sin 或 Cos 波在指定时间内衰减? 我正在尝试使用 CSS 和 jsfiddle 模仿我在下面的示例中看到的弹跳效果。我制作这个示例
这个问题已经有答案了: Why are we not allowed to have assignment statements in the file scope in C? (2 个回答) Why
我有这个代码 January February 我用它来尝试获取值: $month = $("#month option:selected").val(); 但它返回文本“Janu
在我的 Kotlin 项目中,我想在编译时声明常量: 所以我用这个: @RunWith(AndroidJUnit4::class) class TradersActivityTest { pr
我是 Java 新手,我知道这是一个愚蠢的问题,但我无法理解 Java 初始化变量的方式。我尝试做一些测试,但我不知道这是如何工作的。 当我学习C或Java编程时,定义新变量的语法是这样的: type
我正在尝试在 kotlin 中编写一个函数,但我无法将值重新分配给函数参数,它说 val cannot be reassigned 。 class WebView{ var homepage
我将查询字符串传递到我的 Windows Phone 应用程序中的页面:page.xaml?key=val&key2=val . 我收到的是 NavigationContext.QueryString
我正在阅读 https://github.com/antirez/redis 中的 Redis 源代码. 我在src/ziplist.c中看到了这样的宏 #define INT24_MAX 0x7ff
我想知道下面两种情况有什么区别,推荐使用哪种? $val = 0; if (!$val) { //True } if (empty($val) { //It's also True } 最佳答
我理解在 Kotlin 中 const val 用于声明常量,而 val 用于只读属性。但是,我想知道在以下情况下,哪个更适合使用。 假设我有一个 fragment 需要一个用于 saveInstan
LinkedIn 问题 const val 可以做什么 @JvmField val 不能做什么? 关于 Val 和 const 之间的区别,有多种答案。canst Val 和 @JvmField Va
我是一名优秀的程序员,十分优秀!